34

如果您为 RSA 密钥提供正确的密码,有没有办法在本地检查?

我最近在将一些提交推送到 github 时遇到了麻烦,因为推送提示输入密码,然后身份验证失败。id_rsa我验证了 github在我的目录中具有正确的文件公钥~/.ssh,并且我验证了我可以使用 Github 进行身份验证(如果你ssh git@github.com会告诉你你已经通过身份验证,但他们不提供 shell 访问权限,)所以我知道问题所在是我的,而不是 Github 的。

(我应该指出,此时我只是git format-patch将我的提交作为文件获取,然后吹走我的工作存储库并从 Github 重新克隆,使用 重新应用补丁git am,然后毫无问题地推送,所以无论最初的问题是什么,它是固定的。)

不过,这让我想知道:我怎么知道远程主机的身份验证问题是我为我的私钥提供了错误的密码,还是远程主机没有识别我的密钥?有没有办法在本地使用私钥进行测试身份验证,而无需尝试连接到远程主机?

4

2 回答 2

47

或者在这里指出: 如何在没有服务器的情况下在本地测试我的 ssh-keys

你可以这样做:

ssh-keygen -y

这不需要任何服务器(在 Windows 上与 msysgit 配合使用效果很好)。

于 2013-03-16T13:34:39.387 回答
19

您可以运行ssh-add将您的密钥添加到当前的ssh-agent. 这将提示您输入密码。

通常,当ssh-agent它运行时,并且您添加了一个密钥,当您连接到识别该密钥的主机时,您将不再需要解锁您的密钥。如果这不是您想要的,只需在完成测试后运行ssh-add -d将其从您的设备中删除。ssh-agent

于 2010-10-08T14:41:03.070 回答