软件版本
TortoiseGit版本:
TortoiseGit 2.5.0.0 (C:Program FilesTortoiseGitin)
git version 2.8.1.windows.1 (C:Program FilesGitin; C:Program FilesGitmingw64; C:Program FilesGitmingw64etcgitconfig; C:ProgramDataGitconfig)
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