天天看點

cygwin openssh for windows Cygwin + OpenSSH FOR Windows的安裝配置

Cygwin是一款世界著名軟體,它可将Linux下的自由軟體移植到Windows系統上來應用,了解和掌握這個軟體,将使您又多了許多有益的選擇,并帶您到一個更廣闊的天空下翺翔,這對于您的學習和工作将起到确定無疑的推動作用。下面我用自己總結的一個例子,帶大家進入這個世界。

一、cygwin安裝方法

點選安裝如下圖

<a href="http://s3.51cto.com/wyfs02/M00/89/C8/wKiom1gcM4zCxN_NAAHOz8uEp2Y789.png" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M02/89/C8/wKiom1gcM6SgOqOrAAA6WFUl1aw139.png" target="_blank"></a>

預設下一步

<a href="http://s1.51cto.com/wyfs02/M01/89/C8/wKiom1gcM8HBHQ2hAAAtxzwgq_0857.png" target="_blank"></a>

<a href="http://s1.51cto.com/wyfs02/M02/89/C6/wKioL1gcM8LR7eDpAAAtylZl9aE237.png" target="_blank"></a>

<a href="http://s5.51cto.com/wyfs02/M01/89/C6/wKioL1gcM8LTFjTNAAAnIn3ReRA780.png" target="_blank"></a>

<a href="http://s1.51cto.com/wyfs02/M01/89/C8/wKiom1gcM9vCIYd_AAA-rPIPJZs608.png" target="_blank"></a>

<a href="http://s1.51cto.com/wyfs02/M01/89/C6/wKioL1gcM9uzz2oSAAApCTMVgek494.png" target="_blank"></a>

查詢ssh,選擇Net default中标記的勾上(此操作會安裝ssh和ssl)

<a href="http://s4.51cto.com/wyfs02/M02/89/C8/wKiom1gcM-7gghY5AACkVWsMgcY224.png" target="_blank"></a>

安裝vim插件

<a href="http://s3.51cto.com/wyfs02/M02/89/C6/wKioL1gcNAfwAnymAAB5I2nolqA808.png" target="_blank"></a>

<a href="http://s5.51cto.com/wyfs02/M00/89/C8/wKiom1gcNAiyaWdEAAAsL0WghD4928.png" target="_blank"></a>

二、安裝sshd服務

點選cygwin桌面快捷方式

在出現的session後輸出 ssh-host-config –y

<a href="http://s3.51cto.com/wyfs02/M00/89/C8/wKiom1gcNCeDUc03AAGEHzdu5UM331.png" target="_blank"></a>

此指令是安裝sshd服務,中間需生成兩個賬戶sshd和cyg_server

其中cyg_server需要設定密碼

<a href="http://s5.51cto.com/wyfs02/M01/89/C6/wKioL1gcNDqzUHfkAAGoZ0O0S_Q157.png" target="_blank"></a>

<a href="http://s5.51cto.com/wyfs02/M01/89/C6/wKioL1gcNDvxZ7PLAAAsmk8VwzQ897.png" target="_blank"></a>

看下最下面那行,說明安裝服務成功!

啟動服務 net start sshd

<a href="http://s1.51cto.com/wyfs02/M02/89/C6/wKioL1gcNE2it35wAAAM-eIqyfk780.png" target="_blank"></a>

應為編碼問題出現亂碼。不影響操作。也可以在服務清單中檢視服務是否正常啟動。

三、添加防火牆規則

在防火牆中添加入站規則,允許22端口入站。

備注:1、cygwin能實作ssh互信

    2、可以腳本實作對站點批量操作。

    腳本如下(此腳本隻作為抛磚引玉的作用,作為一種思路)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

<code>#!/bash/sh</code>

<code>#時間:2016-07-12</code>

<code>cd</code> <code>/cygdrive/c/Windows/System32/inetsrv</code> 

<code>echo</code> <code>"*******************************************"</code>

<code>echo</code> <code>"*                                         *"</code>

<code>echo</code> <code>"*        IIS管理程式腳本                  *"</code>

<code>echo</code> <code>"*                                         *"</code>  

<code>echo</code> <code>"*******************************************"</code> 

<code>echo</code> <code>"*       1)回收程式應用池                  *"</code>         

<code>echo</code> <code>"*       2)重新開機站點服務                    *"</code>          

<code>echo</code> <code>"*       3)重新開機伺服器服務                  *"</code> 

<code>HostIP=192.168.1</code>

<code>read</code> <code>-p </code><code>"請選擇您要做的操作:"</code> <code>arg</code>

<code>        </code><code>case</code> <code>$arg </code><code>in</code>

<code>        </code><code>1)</code>

<code>            </code><code>read</code> <code>-p </code><code>"請輸入你要操作的web伺服器(如192.168.1.87隻需輸入87。每個ip以空格隔開):"</code> <code>WebIP</code>

<code>            </code><code>if</code> <code>[[ $WebIP =~ ^[0-9][0-9</code><code>" "</code><code>]+$ ]];</code><code>then</code>

<code>               </code><code>for</code> <code>ip </code><code>in</code> <code>$WebIP</code>

<code>               </code><code>do</code>

<code>               </code><code>echo</code> <code>"web主機IP: $HostIP.$ip"</code>

<code>               </code><code>ssh</code> <code>root@$HostIP.$ip </code><code>"cd /cygdrive/c/Windows/System32/inetsrv ; ./appcmd.exe list app"</code>

<code>               </code><code>done</code>

<code>               </code><code>read</code> <code>-p </code><code>"請輸入回收程式應用池名:"</code> <code>zendao;</code>

<code>               </code><code>ssh</code> <code>root@$HostIP.$ip </code><code>"cd /cygdrive/c/Windows/System32/inetsrv ; ./appcmd.exe recycle apppool \"$zendao\""</code>

<code>               </code><code>else</code> <code>echo</code> <code>"你輸入的ip有誤,請重新輸出.格式:每個ip以空格隔開,不能存在字元或其他字元"</code>

<code>            </code><code>fi</code>

<code>            </code><code>;;</code>

<code>        </code><code>2) </code>

<code>               </code><code>ssh</code> <code>root@$HostIP.$ip </code><code>"cd /cygdrive/c/Windows/System32/inetsrv ; ./appcmd.exe list site"</code>

<code>               </code><code>read</code> <code>-p </code><code>"請輸入需要重新開機的站點名稱:"</code> <code>zendao;</code>

<code>               </code><code>ssh</code> <code>root@$HostIP.$ip </code><code>"cd /cygdrive/c/Windows/System32/inetsrv ; ./appcmd.exe stop site /site.name:\"$zendao\""</code>

<code>               </code><code>ssh</code> <code>root@$HostIP.$ip </code><code>"cd /cygdrive/c/Windows/System32/inetsrv ; ./appcmd.exe start site /site.name:\"$zendao\""</code>

<code>               </code><code>3)</code>

<code>                </code><code>echo</code> <code>"Zabbix用戶端服務:Zabbix Agent"</code>

<code>            </code><code>read</code> <code>-p </code><code>"請輸入需要重新開機的服務名稱:"</code> <code>zendao;</code>

<code>               </code><code>ssh</code> <code>root@$HostIP.$ip </code><code>"NET STOP \"$zendao\" ; NET START \"$zendao\""</code>

<code>             </code><code>fi</code>

<code>             </code><code>;;</code>

<code>        </code><code>?) </code>

<code>            </code><code>echo</code> <code>-e </code><code>"您輸入的選項有誤,請重新輸入正确的選項!"</code>

<code>            </code><code>exit</code> <code>0;;</code>

<code>                     </code><code>esac</code>

本文轉自 irow10 51CTO部落格,原文連結:http://blog.51cto.com/irow10/1869471,如需轉載請自行聯系原作者

繼續閱讀