Cygwin + OpenSSH FOR Windows的安裝配置

Cygwin是一款世界著名軟件,它可將Linux下的自由軟件移植到Windows系統上來應用,瞭解和掌握這個軟件,將使您又多了許多有益的選擇,並帶您到一個更廣闊的天空下翱翔,這對於您的學習和工做將起到肯定無疑的推進做用。下面我用本身總結的一個例子,帶你們進入這個世界。
    在windows操做系統中,使用Cygwin + OpenSSH開源軟件來做爲遠程鏈接的安全工具,是一個很是好的方法,獲得許多網管人員的青睞。然而要想順利安裝配置好這套軟件,對於初學者來講,是有必定難度的。爲了使同道們少走彎路,特將本人摸索的經驗陳列於此,以供須要者參考。建議在安裝配置這套軟件以前,最好要初步掌握一些Linux終端操做技能及其技術概念。
如下所述是在Windows XP系統中實踐完成,其它Windows系統可參照此文實施。
1、安裝Cygwin + OpenSSH 
首先打開http://Cygwin.com網頁,點擊以下連接:

Install or updatehtml

now!windows


將會下載一個安裝Cygwin的setup.exe文件,而後在欲安裝Cygwin + OpenSSH軟件的磁盤上建立Cygwin目錄,在此咱們假定爲:C:\Cygwin,運行setup.exe後打開圖一:   
            



                                圖一
圖一主要提供關於Cygwin軟件安裝的一些信息,點擊下一步後打開圖二:


圖二安全

圖二提供了三個選項:
第一選項:從Internet上下載並安裝所需軟件。
第二選項:從Internet上下載所需軟件安裝包到本地磁盤。
第三選項:從本地磁盤安裝包的目錄中安裝所需軟件。
此處選擇從Internet上下載並安裝所需軟件,點擊下一步後打開圖三:


圖三服務器

圖三爲指定軟件安裝的目標路徑,其它按圖上默認的選項選擇。點擊下一步後打開圖四:


圖四網絡

圖四爲指定軟件安裝包的本地存放路徑。點擊下一步後打開圖五:


圖五session

圖五是選擇鏈接Internet的方式,照圖點選Use IE5 Settings,點擊下一步後打開圖六:


圖六ssh

圖六是選擇下載Cygwin的網站,儘可能選離我國近的網站,以提升安裝速度。點下一步打開圖七:


圖七工具

圖七爲軟件包的選擇界面,All所在行是選擇所有軟件包的位置,其它各行是軟件組的選擇位置,點擊軟件組前部的+號,能夠打開軟件組來選擇所屬軟件項。點擊所選軟件項的循環箭頭,能夠選擇對相應項目的操做方式,每點一次,該項目的操做方式就變化一次。
針對All及軟件組的操做方式有四種選擇:即Default、Install、Reinstall和Uninstall,依次表明:默認狀態、安裝、從新安裝和反安裝項。
針對軟件項的操做方式有兩類五種:
第一類:對未安裝的軟件項有兩種選擇,即Skip和該軟件的版本號,Skip爲跳過該軟件的安裝,顯示軟件版本號爲肯定安裝該軟件。
第二類:對已安裝的軟件項有三種選擇,即Keep、Reinstall和Uninstall,依次表明:保持現狀、從新安裝和反安裝項。
圖八爲打開NET軟件組的界面


圖八學習

圖八表示選擇網絡相關軟件,咱們要安裝的是OpenSSH,故點擊OpenSSH軟件項相應的循環箭頭,使原來的Skip變爲版本號便可,與OpenSSH軟件包相關的Cygwin支持軟件包會自動配套選中,例以下一行的OpenSSL軟件包也就自動選中了。點擊下一步打開圖九:


圖九網站

圖九顯示安裝工做的進度,完成後自動打開圖十:


圖十

圖十中提示將在桌面創建Cygwin控制檯圖標和在開始菜單中添加Cygwin控制檯圖標。點擊完成按鈕結束安裝工做。
注意:安裝軟件時,必須以Administrator用戶身份來安裝,不然可能出現許多莫名的問題,大概是因爲用戶權限不夠形成的,估計是該軟件出於安全考慮而有意設計的。
2、Openssh基本配置
1.增長環境變量
用鼠標右鍵單擊個人電腦 à屬性 à高級 à環境變量,
A.在系統變量框中新建變量名爲:CYGWIN,變量值爲:ntsec tty 的變量。
B.編輯path變量,在原變量值後加上以分號分隔的C:\Cygwin\bin字符串,注意保留原變量的值!
2OpenSSH服務配置
雙擊Cygwin圖標打開控制檯,鍵入:cd /bin轉入bin目錄,再鍵入:ssh-host-config -y,執行後系統提示「CYGWIN=」 時輸入ntsec tty便可。至此,SSH服務已被加入到Windows的自動啓動服務項中了。
從新啓動電腦進入普通用戶界面,打開Cygwin控制檯後,系統會在Cygwin的home目錄下生成一個同名目錄:youname (此處假設用戶名爲:youname),用戶能夠在command控制檯上用:
ssh  youname@127.0.0.1

登陸本身的SSH服務器試一試,若能登陸則表示安裝配置基本成功,能夠進行遠程登陸鏈接,若遠程登陸失敗,可能的緣由有如下幾種:

1. 防火牆限制。在SSH服務器防火牆的例外中添加容許SSH端口經過的條目,SSH服務默認使用的是22號端口。

2. 若是客戶端嘗試登錄服務器時出現ssh: Permission denied的提示,則多是/etc/passwd文件中沒有該帳號, 即便你已經經過passwd命令設定了密碼. 解決辦法是使用命令mkpasswd.exe -l > /etc/passwd,將windows的帳號密碼信息從新導入/etc/passwd

3. Win32 error 1062. 

    Sometimes you get a sshd/cygrunsrv service error after trying to run the service.

    cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062: The service has not been started. There can be a couple of causes for this. The following may fix the problem (this is not an option on XP Home).

     Solution 1 :You may have an old or corrupt installation of Cygwin. Try reinstalling. The following may also help:

        cygrunsrv -R sshd

REBOOT (or use the Task Manager to kill all instances of sshd that may be running in the background) run "ssh-host-config -y" again. This seemed to help on a few systems I worked on.

    Solution 2: Open an explorer window and use the "Properties | Security" dialog and explicitly add "Full Control" for the SYSTEM user to the following directories:

        C:/Cygwin C:/Cygwin/var C:/Cygwin/var/log

    

3.啓動OpenSSH服務的方法
A.在command控制檯上啓動:
Net  start  sshd     #啓動SSH服務
Net  stop  sshd      #中止SSH服務
B.在Cygwin控制檯上啓動:
Cygwin  --start  sshd      #啓動SSH服務
Cygwin  --stop  sshd       #中止SSH服務
3、Openssh高級配置
提示:A. 修改sshd_config 文件前應先經過Cygwin控制檯修改文件屬性值,使當前用戶具備修改權:
cd /etc                    #轉到sshd_config文件所在目錄
Chmod 777 sshd_config      #修改文件屬性值,使其餘用戶能夠修改該文件
。。。。。                 #而後參照後面介紹的一、二、3條進行操做
Chmod 644 sshd_config      #修改文件屬性,使其恢復原來的屬性值
B. sshd_config文件被修改後,必須重啓SSH服務後改動項才能生效。
1.更改OpenSSH工做端口及協議版本

用寫字板打開C:\Cygwin\etc\sshd_config文件,將port 22改成port 10022或其它本身想改的端口號,最好選1025 -- 65535之間其它軟件未用的端口號。再將#Protocol 2,1 改成Protocol 2,使當前的SSH服務只支持2.0協議版本。此兩項更改的目的是爲了加強系統的安全性。

2.禁止超級用戶遠程登陸OpenSSH

用寫字板打開 C:\Cygwin\etc\sshd_config 文件,將 #PermitRootLogin yes 修改成PermitRootLogin no便可。若系統須要超級用戶登陸,則沒必要修改此項目。

3.僅使用非對稱密鑰安全登陸

A用寫字板打開 C:\Cygwin\etc\sshd_config 文件,將#PasswordAuthentication yes 修改成 PasswordAuthentication no 。

B.在Cygwin控制檯:

cd /home/youname      #轉到當前用戶目錄

mkdir .ssh            #創建 .ssh隱含目錄

C.將製做好的authorized_keys公鑰文件複製到c:\Cygwin\home\youname\.ssh目錄下

D.在Cygwin控制檯:

cd /home/youname/.ssh    #轉到 .ssh隱含目錄

chmod 700 ~/.ssh (修改.ssh目錄的權限,不然不生效)

chmod 600 authorized_keys   #修改文件屬性使之生效(注:屬性值大於600時該文件無效)
此後用戶遠程訪問ssh服務器時,將不能憑用戶密碼登陸,只能憑藉對應的私鑰來登陸,排除了密碼暴力破解的可能,提升了網絡訪問的安全性。
4.公鑰對的生成
因爲習慣了用putty做爲登陸ssh服務器的工具,故在此僅介紹用putty軟件生成密鑰對的方法。
A能夠從http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html處,選擇putty.zip下載,該軟件爲自由軟件,可無償使用,當前版本爲V 0.60。
B解壓後運行puttygen.exe , 打開圖十一:


圖十一

如圖選擇SSH-2 RSA和1024密鑰長度,點擊Generate按鈕,打開圖十二:


圖十二

將鼠標在電腦屏幕上隨機移動,密鑰生成進度條隨鼠標指針移動而前進,直至完成並呈現圖十三:


圖十三

圖上部框中顯示的是公鑰內容,用戶能夠在key passphrase框及confirm passphrase框中輸入密鑰密碼,以使密鑰丟失後多一道安全防禦。固然若是爲了方便也能夠不設密鑰密碼。
    將圖十三上部框中的公鑰內容複製到public_key.ppk文件中,並保存爲純文本文件(不要點擊「Save public key」按鈕直接保存),而後將該文件上傳到服務器並追加到~/.ssh/authorized_keys. 點擊「Save private key」按鈕保存私鑰文件,該文件默認以 .ppk擴展名。請妥善保管好私鑰文件,從此訪問SSH服務器就要憑此私鑰登陸了。
4、卸載Cygwin
卸載Cygwin與安裝Cygwin的過程差很少,也是先運行setup.exe,與安裝時同樣操做,直到出現圖七所示界面時,將All設置爲UnInstall後再點擊下一步,系統將自動完成Cygwin軟件的卸載,Cygwin的安裝目錄須要手工刪除,註冊表內與Cygwin相關的項目也要手動刪除,如若刪除不盡,可能會影響到之後Cygwin的順利安裝和配置,切記!
5、PUTTY軟件的簡單應用
運行Putty.exe打開圖十四:


圖十四

在Host Name框中輸入SSH服務器的IP地址,Port框中輸入OpenSSH服務的端口號,而後點開Connection à SSH à Auth打開圖十五:


圖十五

按圖中選擇相應項,在private key file for authentication框中填入本身私鑰的保存路徑,再回到圖十四,在Saved sessions框中輸入一個相關名字,再點擊Save按鈕將當前會話以相關命名保存起來,以供未來重複使用該會話。使用時選中會話,點擊Load按鈕裝入,再點擊Open按鈕開始鏈接SSH服務器,鏈接界面彈出後,按提示輸入用戶名、私鑰密碼,驗證經過後便可登陸服務器了。
Putty還能夠爲其它軟件聯網創建鏈接隧道
相關文章
相關標籤/搜索