1

问题:当我尝试使用 puttygen 生成的 ssh2-RSA 密钥和命令行 git 工具时,密钥被拒绝。

详细信息:我的电脑(以及 msysgit)上安装了 TortoiseGit。TortoiseGit 设置为使用 PuttyGen 生成它的密钥。当我尝试在命令行 git 工具中使用 PuttyGen 生成的密钥之一时,它会拒绝公钥,并且在某些情况下会要求输入密码,即使密钥没有。我在多台计算机(都运行 Windows 7 x64)上遇到过这个问题,知道如何解决这个问题,所以我不必为我的 cmd 行客户端和 TortoiseGit 设置单独的键吗?

TortoiseGit 设置为从推送对话框中为每个 repo 自动加载一个 putty 密钥可能也很有趣。当我运行 ssh -v git@github.com 时,它正确地找到了密钥,但是当它尝试连接时,它被拒绝说密钥错误。如果我使用 ssh-keygen 制作的密钥,它就可以正常工作。

软件版本:MsysGit 1.7.7.1 SSH 4.6p1 PuttyGen 0.61 Tortise 1.7.5.0

感谢您的帮助(如果这是错误的交换,请告诉我,以便我可以关闭并快速移动它)Eric Fode

4

1 回答 1

3

这个的副本。简而言之:PuTTY(属于其中puttygen的一部分)和 OpenSSH(属于其中ssh-keygen的一部分)使用不同的格式来存储其密钥,您必须坚持使用其中一种或执行转换。

就个人而言,我已经将 Git 设置plink.exe为它的 SSH 代理,并通过pageantPuTTY 的ssh-agent.

说得更清楚一点:适用于 Windows 的 Git 捆绑了 OpenSSH,但它并没有与之绑定,并且如果被告知这样做,它可以愉快地使用 PuTTY。每个人都可以在这里选择他们的选择。我认为如果系统中安装了 PuTTY 或被其他工具使用(看起来像你的情况),那么让 Git 使用 PuTTY 是一个自然的选择。

于 2012-05-09T10:48:44.430 回答