为什么GitHub会将公钥报告为无效?

时间:2012-06-05 12:44:52

标签: github ssh-keys

我已经生成了ssh密钥 结果是:

Your identification has been saved in /home/rajani/.ssh/id_rsa.
Your public key has been saved in /home/rajani/.ssh/id_rsa.pub.

密钥是十六进制格式,但在将其添加到GitHub时,我收到的错误是这样的:

Key is invalid. 
It must begin with 'ssh-rsa' or 'ssh-dss'. 
Check that you're copying the public half of the key .

我应该如何正确地将一个ssh密钥添加到GitHub?

2 个答案:

答案 0 :(得分:6)

问题

  1. ssh-keygen 实用程序通常默认生成RSA密钥,但您的实现可能默认为ECDSA,GitHub目前不支持。
  2. 如果您真的在生成RSA密钥,可能会尝试将私钥粘贴到服务器上,而不是公钥。
  3. 解决方案

    1. 通过将 -t 标志传递给 ssh-keygen 来强制生成RSA密钥。
    2. 确保您使用 .pub 扩展程序复制密钥,并且包含整个行。如果您要复制RSA公钥,则会包含 ssh-rsa 前缀。
    3. 相关

      当然,man 1 ssh-keygen是你的朋友。

答案 1 :(得分:1)

你应该添加“hexa decimal part”并在前面加上“ssh-rsa”,这应该可以解决问题。