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也自然是成功的。