TortoiseGit和git bash冲突解决

软件版本

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

  1. 打开puttygen.exe,点击load,选择C:\Users\用户名\.ssh文件夹的私钥文件id_rsa,然后save private key保存成ppk文件。
  2. 下载PuTTY客户端并安装,链接
  3. 启动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

posted @ 2017-10-11 15:10  itlgl  阅读(2245)  评论(0编辑  收藏  举报