TortoiseGit和git bash冲突解决

软件版本

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

  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

作者:itlgl
出处:http://www.cnblogs.com/itlgl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利

原文地址:https://www.cnblogs.com/itlgl/p/7650675.html