无效的公共SSH密钥。

9

我正在尝试遵循GitHub上生成SSH密钥的指示,适用于Windows系统。

我运行了ssh-keygen -t rsa -C "my@email.com",输入密码短语,看起来SSH密钥已经正确生成。

然而,在尝试在GitHub上“添加SSH密钥”时,它给出了以下错误:

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

Windows生成的公钥如下:

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "2048-bit RSA, my@email.com"
*public key*
---- END SSH2 PUBLIC KEY ----

最显著的是它不以'ssh-rsa'或'ssh-dss'开头。我尝试只复制“*公钥*”部分并在其前面添加'ssh-rsa',但在GitHub上仍然出现相同的错误。有任何想法我做错了什么?

我认为GitHub主要是用于编程的工具,因此这个问题适用于stackoverflow。但是,如果有足够的投票,我会转到superuser。 - FGreg
4个回答

18

明白了。公钥应该长成这样:

ssh-rsa *public key* my@email.com

也就是说:

ssh-rsa<space><public key ending with ==><space><email address>

6
在Linux中,执行上述命令后,(xyz.pub)文件将在您正在工作的目录中生成。然后,如果您执行“cat xyz.pub”命令,您将获得以“ssh-rsa”开头的公钥。 This is how it looks like 现在,您需要复制并粘贴显示的文本到您的GitHub帐户中。希望这可能解决问题。在Windows中,我认为您应该在NotePad++中编辑该文件。

1
GitHub会生成两个文件:一个没有类型,另一个是.pub格式的。你需要使用带有.pub扩展名的第二个文件,并且该文件已经具有以下模式:ssh-rsa <key> <email>。如果它不具有此模式,则可能正在查看错误的文件。

0

在完成Git Bash步骤后,我成功地完成了所有步骤。在Drive:\Users\.ssh\目录下生成了一个pub文件。 使用记事本打开该文件,将其复制并粘贴到https://github.com/settings/keys中即可完成!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接