windows cmd下ssh連接免密碼問題解決


windows 7 cmd下 ssh -T username@serverip 免密碼連接成功

有的同學在windows下開發,並且在windows下安裝了git for windows,這些資源已經足夠進行開發和git版本管理了。

這里只介紹一下如何在cmd下ssh連接遠程服務器。

(1)生成ssh公鑰私鑰

 安裝git之后,ssh和ssh-keygen都是可用的,直接用ssh-keygen產生公私鑰

默認生成的公私鑰win7系統在  C:\Users\用戶名\.ssh下

默認名為id_rsa、id_rsa.pub

(2)把公鑰拷貝到服務器上

對應linux服務器,是linux服務器上的~/.ssh/authorized_keys

對於gitlab或者gerrit或者GitHub,可以通過網頁把公鑰粘貼上。

(3)測試

  在本地windows 7下打開cmd

  輸入 ssh -T username@serverip

  發現需要輸入密碼

C:\Users\abc\bin>ssh -T sm01@10.230.135.44
sm01@10.230.135.44's password:
Permission denied, please try again.
sm01@10.230.135.44's password:
Permission denied, please try again.
sm01@10.230.135.44's password:
sm01@10.230.135.44: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,pas
sword).
此時,配置好公私鑰之后,任何需要輸入密碼的都是耍流氓,都是錯誤的。

(4)調試
ssh -vT sm01@10.230.135.44

使用的私鑰為/.ssh/id_rsa

該私鑰不是 C:\Users\用戶名\.ssh下的私鑰,私鑰文件指定不對,所以連接不上。

(5)解決
臨時解決:指定私鑰
用 ssh -T -i C:\Users\abc\.ssh\id_rsa sm01@10.230.135.44
即用i指定私鑰,則連接成功

徹底解決:
經過分析,ssh-keygen默認生成的公鑰在用戶主目錄下的.ssh下(即C:\Users\用戶名\.ssh),
但是實際使用的私鑰是在git安裝目錄下的.ssh(即C:\Program Files(x86)\Git\.ssh)

只要把公鑰私鑰從上一個目錄拷貝到下一個目錄,就可以鏈接成功了。
 
        
ssh -T 測試成功,則cmd下git ssh clone也自然是成功的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM