1. 程式人生 > >windows環境下cygwin ssh實現linux到windows的無密碼登陸

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的無密碼傳輸來完成很多工作。