我可以使用RSA密钥在本地testing身份validation吗?

如果您正在向RSA密钥提供正确的密码,是否有办法在本地进行检查?

我最近遇到了一些提交到github的麻烦,因为推动提示input密码,然后validation失败。 我validation了github在我的~/.ssh目录中有id_rsa文件的正确~/.ssh ,并且证实我可以用Github进行身份validation(如果你是ssh git@github.com它会告诉你你已经通过了身份validation,提供shell访问),所以我知道问题在我的最后,而不是Github的。

(我应该指出的是,现在我只是使用git format-patch来将我的提交作为文件,然后从我的工作存储库中删除,并从Github重新克隆,使用git am重新应用这些补丁,并且没有任何麻烦地推送不pipe原来的问题是什么,都是固定的。)

这让我想知道,但是:我怎么知道,如果远程主机的身份validation问题是我提供了错误的密码给我的私钥,或远程主机不能识别我的密钥? 有没有办法用本地私钥进行testing身份validation,而不尝试连接到远程主机?

您可以运行ssh-add将您的密钥ssh-add到当前的ssh-agent 。 这将提示您input密码。

通常情况下,当ssh-agent正在运行,并且向其添encryption钥时,当连接到识别该密钥的主机时,不必再解锁密钥。 如果这不是你想要的,只要运行ssh-add -d可以将它从你的ssh-agent上删除。

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

你可以这样做:

 ssh-keygen -y 

这不需要任何服务器(与Windows上的msysgit很好的作品)。