2010-10-08 83 views
34

如果您正在向RSA密钥提供正确的密码,是否有本地检查的方法?我可以使用RSA密钥在本地测试身份验证吗?

我最近遇到了麻烦推一些提交到GitHub的,因为推提示输入密码,然后验证失败。我验证了github上曾经为id_rsa文件在我~/.ssh目录正确的公钥,和我核实,我可以与Github上进行身份验证(如果你ssh [email protected]它会告诉你验证,但他们没有提供shell访问,),所以我知道问题出在我身上,而不是Github的。我应该指出,在这一点上,我只是使用git format-patch来获取我的提交作为文件,然后吹掉我的工作存储库,并从Github重新克隆,重新应用补丁使用git am,并推出没有任何问题,所以不管原始问题是什么,它都是固定的。)

这让我想知道,但是:如何知道如果远程主机的身份验证问题是我向我的私钥提供了错误的密码,或者远程主机无法识别我的钥匙?有没有办法在本地执行使用私钥的测试身份验证,而不尝试连接到远程主机?

回答

19

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

通常,当ssh-agent正在运行,并且您向其中添加密钥时,当您连接到识别该密钥的主机时,您不必再解锁密钥。如果这不是你想要的,只要运行ssh-add -d将其删除掉你的ssh-agent当你完成测试。

43

或如本文中指出: How can I test my ssh-keys locally without a server

你可以这样做:

ssh-keygen -y 

而且这不需要任何服务器(在Windows上使用msysgit的伟大工程)。

+1

我完全糊涂了,以为'-y'必须说“是所有” - 但事实并非如此,实际上它似乎做它应该。 – krlmlr 2014-08-15 11:47:04

相关问题