GitHub上的"密钥无效"消息

use*_*029 51 github ssh-keys

我已根据此处概述的过程为新服务器安装生成了SSH密钥.但是,当我将内容复制id_rsa.pub到GitHub上的我的键列表时,我收到错误消息"密钥无效.确保您已正确复制文件."

生成的密钥有效的,我正在按原样复制它(所有在一行中,在开头/结尾没有空格).

有人知道会发生什么事吗?

Sha*_*len 71

我来到这里是因为我有同样的问题.从你的问题,我意识到,我是从拷贝了错误的文件中的内容(只是id_rsa文件,而无需.pub扩展名).

来自MAC:

vi ~/.ssh/id_rsa.pub
Run Code Online (Sandbox Code Playgroud)

准确地从字符块的末尾(带有电子邮件域扩展名的最后一个字母)复制到开头,以ssh-rs开头...

如果它不起作用,你肯定不能正确复制.

有效.

如果您使用的是Windows,请使用记事本和复制粘贴,如上所述.

我希望有所帮助.

  • 出于一个非常模糊的原因,来自emacs的复制粘贴在ssh-rsa之后移除了\n,这导致了问题.从vi复制粘贴解决了这个问题.既然你给了我尝试的想法,我会给你答案! (10认同)
  • vi不适合我.我不得不使用cat命令(OSX)将其打印到终端并复制其输出.谢谢你让我走上了正确的道路. (2认同)

Jam*_*ruk 41

复制/粘贴公钥时,以下是一些完全不清楚的步骤.(为了记录,我使用了Putty Key Generator作为我的钥匙.)

  • 在第一行,输入ssh-rsa.
  • 确保在ssh-rsa之后添加一个空格
  • 将密钥复制/粘贴到密钥文本框中时,应保留\n字符(x0A).如果您在Windows上使用记事本,则在将文本复制到Github之前,您将看不到这些新行.

请注意,在此屏幕截图中,ssh-rsa之后有一个空格(请参阅光标.)公钥文本还包含三个\n字符,因此您可以在文本框中看到公钥文本在下一行中突然显示三次.SSH RSA密钥

  • 在相关的说明中,在GitLab(测试7.4.3)中,只有在(如上所述)添加`ssh-rsa`和_not_包括换行符时才能添加SSH密钥. (7认同)
  • 我的id_rsa.pub文件缺少"ssh-rsa"部分.在Github上手动添加它就可以了. (6认同)
  • 这一定是油灰问题。我和腻子有同样的错误 (2认同)
  • 之后添加"ssh-rsa"一个空格帮助了我.非常感谢. (2认同)

Pio*_*r Z 20

我知道这是一个 cpl 岁的问题,但如果有人在 2018 年遇到这个:

那么下面是一个不费脑子的:

我的问题是我试图复制私钥

id_rsa

而不是公钥内容

id_rsa。酒馆

作为我的 SSH gitlab 存储库密钥,所以在您之后:

ssh-keygen -t rsa -C "your@email.com" -b 4096
Run Code Online (Sandbox Code Playgroud)

请记住要从中复制的.pub文件扩展名:

  • 操作系统

??pbcopy < ~/.ssh/id_rsa. 酒馆

  • Linux

??xclip -sel 剪辑 < ~/.ssh/id_rsa. 酒馆

  • Windows PowerShell

??cat ~/.ssh/id_rsa. 酒吧| 夹子


然后将其粘贴到您的 gitlab/github 或其他存储库作为您的 SSH 密钥

这是完全有道理的,因为您应该始终只共享您的公钥,而不是私钥:)


Spa*_*Fly 14

我尝试了几种方法,但没有一种方法有帮助(我的操作系统是ubuntu).然后我想如果我可以使用命令"more"打印〜/ .ssh/id_rsa.pub的内容.

抱歉,我没有声望发布图片!当我有,我会发布它!

这是一个可以看到图像的网址:

在此输入图像描述

我从命令行复制了内容,它工作了!


小智 5

有人建议使用, $ vi ~/.ssh/id_rsa.pub但它对我不起作用。

因此,我使用$ cat ~/.ssh/id_rsa.pubWindows 机器上的命令在终端上打印出来然后复制它。