【问题标题】:Can I test authentication with an RSA key locally?我可以在本地使用 RSA 密钥测试身份验证吗?
【发布时间】:2011-04-22 22:34:09
【问题描述】:

有没有办法在本地检查您是否为 RSA 密钥提供了正确的密码?

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

(我应该指出,此时我只是使用 git format-patch 将我的提交作为文件获取,然后吹走我的工作存储库并从 Github 重新克隆,使用 git am 重新应用补丁,并在没有任何内容的情况下推送麻烦,所以无论最初的问题是什么,它都已解决。)

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

【问题讨论】:

    标签: ssh rsa ssh-keys


    【解决方案1】:

    或者在这里指出: How can I test my ssh-keys locally without a server

    你可以这样做:

    ssh-keygen -y
    

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

    【讨论】:

    • 我完全糊涂了,以为-y 一定意味着“对所有人都同意”——但事实并非如此,而且它似乎确实在做它应该做的事情。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2022-11-10
      • 2011-05-18
      • 2020-09-29
      • 1970-01-01
      • 2014-08-04
      • 2021-12-17
      • 1970-01-01
      • 2010-09-14
      • 2015-12-08
      相关资源
      最近更新 更多