问题:当我尝试使用puttygen使用命令行git工具生成的ssh2-RSA密钥时,密钥被拒绝。
详细信息:我的计算机上安装了TortoiseGit(以及msysgit)。 TortoiseGit设置为使用PuttyGen生成它的键。当我尝试在命令行git工具中使用PuttyGen生成的其中一个密钥时,它会拒绝公钥,在某些情况下,即使密钥没有,也会要求输入密码。我在多台计算机(所有运行的Windows 7 x64)上遇到过这个问题的任何想法如何解决这个问题所以我不需要为我的cmd线客户端和TortoiseGit提供单独的密钥?
将TortoiseGit设置为从推送对话框中的每个仓库自动加载油灰键也可能是有意义的。当我运行ssh -v git@github.com时,它正确找到了密钥但是当它尝试连接时,它被拒绝说密钥错误。如果我使用ssh-keygen生成的密钥,它可以正常工作。
软件版本: MsysGit 1.7.7.1 SSH 4.6p1 PuttyGen 0.61 Tortise 1.7.5.0
感谢您的帮助(如果这是错误的交换,请告诉我,以便我可以快速关闭并移动它) 埃里克福德
答案 0 :(得分:3)
this one的重复。简而言之:PuTTY(puttygen
是其中的一部分)和OpenSSH(ssh-keygen
是其中的一部分)使用不同的格式来存储其密钥,您必须坚持其中一个或执行转化
就个人而言,我已将Git设置为使用plink.exe
作为其SSH代理,并通过pageant
程序提供密钥,该程序是PuTTY的ssh-agent
。
为了让它更清楚:Git for Windows捆绑了OpenSSH,但它没有绑定它,如果被告知这样做,可以愉快地使用PuTTY。每个人都可以在这里选择自己的选择我认为如果PuTTY安装在系统中或者被其他工具使用(看起来像你的情况),那么使用PuTTY是一个很自然的选择。