我可以使用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很好的作品)。