如何在Github中查看我的公共和私有SSH密钥?

Ary*_*n G 4 git github ssh-keys

我是Github的新人.我已经生成了SSH密钥,现在可以在SSH密钥中看到它.是公钥还是私钥?

我已经将SSH密钥(我在SSH密钥下看到)发送给了我的客户端.他问是否公开?他想要我的私钥.

是否需要私有SSH密钥?如果是这样,我该如何检索它?

Tod*_*obs 5

TL; DR

您无法从GitHub 帐户检索私钥,但是如果您将密钥文件显式添加到已发布的存储库,则可以.GitHub还限制您查看附加到帐户的公钥的指纹 ; 据我所知,你也无法在GitHub上查看帐户的公钥.

私人与公钥

SSH公钥存储在一行中,并以密钥类型字段(如ssh-rsa或)开头ecdsa-sha2-nistp256.私钥具有多行,以及标识密钥块的标题.例如:

-----开始RSA私钥-----

GitHub只接受公钥

无论如何,您实际上无法将有效的私钥添加到GitHub帐户.目前,GitHub仅接受RSA和DSA公钥.如果您尝试添加其他键类型或任何类型的无效公钥,您将收到如下错误:

密钥无效.它必须以'ssh-rsa'或'ssh-dss'开头.检查您是否正在复制密钥的公共部分

私钥在GitHub帐户中不存储在服务器端

所有这一切的结果是 - 除了你永远不应该存储你的私钥服务器端这一事实- 它不可能将私钥附加到GitHub帐户.因此,无法从GitHub帐户检索密钥对的私有一半.

当然,虽然您无法将SSH私钥添加到GitHub帐户,但您可以将它们添加到已发布的存储库中.作为一个例子,Vagrant项目发布了一个完整的密钥对,但这是一个特例.

发布密钥本质上是不安全的.除非你理解其含义,否则不要这样做.

  • 实际上,您不仅限于查看指纹。您可以在 `https://github.com/<username>.keys` 上查看所有用户的公钥(GitHub 已知)。 (3认同)
  • @VinhVO 您可以在 `https://github.com/<username>.gpg` 查看 GPG 密钥 (2认同)