windows環境下cygwin ssh實現linux到windows的無密碼登陸
在寫本文前,已經參閱N多的相關資料,在ssh安裝過程中並不是一路yes或有的yes,而是在讀懂安裝過程中的提示最重要,現將自己成功實驗過程分享。
ps:最好的資料就是按照cygwin ssh-host-config安裝提示進行。
1.安裝cygwin,並安裝openssl,openssh
2.更改環境變數,加入c:\cygwin64\bin
3.在安裝路徑下cygwin.bat加入set CYGWIN=binmod ntsec
4.以管理員許可權執行cygwin.bat
5.輸入ssh-host-config
此處說明Privilege separation在openssh 3.3版本的時候就預設使用,還需要一個sshd的賬戶,這個賬戶會在下一步出現,因此在此處我們應該輸入:yes
此處需要建立一個sshd賬戶,因此我們輸入:yes
此處將sshd安裝成系統服務,因此我們輸入:yes
此處讓我們輸入cygwin的守護程序名,我們輸入:ntsec
回車後,看紅框中提示:
1)第一條說明在win2003,vista或更高版本的系統中,系統賬戶沒有足夠高的許可權,我們需要建立一個有許可權的賬戶
2)第二條再次提示在window xp 64,win2003或更高版本系統,系統賬戶沒有許可權
3)第三條提示我們需要建立一個有許可權的使用者,並且此使用者具有管理員許可權
繼續看提示後面的內容指令碼會自動建立一個cyg_server的使用者,我們就用這個使用者,不再用新使用者,因此我們輸入:no
建立cyg_server使用者,因此我們輸入:yes
建立cyg_server使用者後,會輸入該賬戶密碼兩次,然後會出現提示,見紅框:
1)此處表示我們輸入的密碼為[email protected]#(178
2)用ssh-user-config為每個本地使用者建立金鑰
3)sshd服務在cyg_server使用者下執行
net start sshd 啟動sshd服務
6.將本地使用者加入,否則會出現permission denied ,即使使用者名稱密碼都正確
mkpasswd -l >/etc/passwd
mkgroup -l >/etc/group(這條不用也可)
7.從異地登陸可以用不同賬戶密碼登陸
ssh -l asusxy 172.16.4.140
ssh -l cyg_win 172.16.4.140
8.從linux無密碼登陸到windows
將linux下生成的公鑰放到windows系統下的cygwin的/home相應使用者下,此處為/home/asusxy/.ssh/authorized_keys,許可權為600
登陸如下圖:
至此實驗全部完成,我們可以通過linux和windows的無密碼傳輸來完成很多工作。