標籤:

sourcetree git ssh私鑰問題 如何解決?

git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin

The server"s host key is not cached in the registry. You

have no guarantee that the server is the computer you

think it is.

The server"s rsa2 key fingerprint is:

ssh-rsa 2048 9f:a7:a4:00:e4:f1:7a:bc:aa:c1:d3:ea:1e:d7:4d:79

If you trust this host, enter "y" to add the key to

PuTTY"s cache and carry on connecting.

If you want to carry on connecting just once, without

adding the key to the cache, enter "n".

If you do not trust this host, press Return to abandon the

connection.

遠程庫是區域網內的。

連接遠程庫的時候出現這個提示,請問各位大神如何解決?


打開菜單中的 工具-&>選項-&>SSH客戶端配置,將SSH客戶端選擇OpenSSH,然後確定。

我就是這樣解決的。


原因是首次連接一個使用 SSH 協議的 Git 伺服器的時候,因為遠程SSH伺服器的公鑰沒有經過確認而導致 git 命令執行失敗。

解決方法是在命令行下找到SourceTree安裝目錄里的PuTTy工具,

例如"C:Program Files (x86)AtlassianSourceTree oolsputtyplink.exe"(注意路徑包含空格時要加引號),

然後運行命令 plink.exe root@192.168.1.2 -P port(根據自己的Git倉庫URL自行更改),

遇到確認伺服器公鑰時,輸入"y"即可。


正好遇到這個問題,然後百度把我引導到了這裡來——並沒有什麼卵用。

最後解決了。

首先,這是個bug(https://jira.atlassian.com/browse/SRCTREEWIN-140),SourceTree在這種情況下原先是沒法響應的。只能通過 @葉飛 說到的方法,將server的ssh key加入到本地plink的cache中。

其次,如果你的SourceTree版本高於0.8,用過上面說到的方法後依然遇到這個問題,SourceTree在給出這個提示後就沒響應了,請檢查一下你是否在使用系統安裝的Git。如果是,切換回SourceTree自帶的Git,這樣他就會彈出窗口讓你選擇yes or no,我是這麼解決的。哦,選完之後就可以切換回系統Git了。

要說出現這種現象的深層次原因的話,就不得不提到SourceTree中謎之MinGW、自帶putty、內嵌Git以及遠程埠非22這四者之間的錯綜複雜關係了。


window-&>選項--一般-ssh密鑰為ppk文件 ,ssh客戶端 為putty/pink, 工具-&>啟用助手,導入ssh密鑰,然後電腦右下角有一個新的程序,點擊add key,然後選擇哪個ppk文件就行了。。


@Jun Huang

服務端秘鑰發生了變更

我使用了@葉飛 的方法解決了,看你的回復找到了原因


推薦閱讀:

輪子哥都造了哪些輪子?
如何評論「怎樣尊重一個程序員」?
linux用什麼同步文件好?
代碼版本控制用SVN還是Git好?

TAG:Git | SSH | PuTTY |