軟件版本
TortoiseGit版本:
TortoiseGit 2.5.0.0 (C:\Program Files\TortoiseGit\bin)
git version 2.8.1.windows.1 (C:\Program Files\Git\bin; C:\Program Files\Git\mingw64; C:\Program Files\Git\mingw64\etc\gitconfig; C:\ProgramData\Git\config)
git工具版本:
git version 2.8.1.windows.1
現象
之前都是用git bash在github上同步代碼,使用的是ssh的方式,沒有問題,但是TortoiseGit拉取代碼一直報錯:Disconnected: No supported authentication methods available (server sent: publickey)
解決方法
產生問題的原因是因為TortoiseGit會使用PuTTY(plink)作為默認的ssh方式,聲稱對windows集成更好,導致不能共用git bash生成openSSH密鑰。
網上搜索的解決方案:將SSH Client替換為git的ssh.exe。但是在我電腦上選擇完ssh.exe以后,點擊確定不起作用,應該是哪里限制了。
我的解決方案:使用TortoiseGit自帶的PuTTY Key工具將之前生成的key轉換為ppk格式,然后使用PuTTY設置默認使用這個key
- 打開
puttygen.exe,點擊load,選擇C:\Users\用戶名\.ssh文件夾的私鑰文件id_rsa,然后save private key保存成ppk文件。 - 下載PuTTY客戶端並安裝,鏈接。
- 啟動PuTTY,選擇
Connection->SSH->Auth,選擇剛剛保存的ppk文件;然后選中Session標簽下的Default Settings點擊save保存更改即可。
參考資料
http://www.cnblogs.com/podolski/p/4543023.html
http://blog.csdn.net/roxliu/article/details/31790985
http://blog.csdn.net/yidragon88xx/article/details/38946041
