将新的SSH密钥添加到gitlab帐户时,“无法生成指纹”

时间:2019-03-31 10:51:33

标签: git github ssh

我正在尝试将新的ssh密钥添加到我的GitLab帐户,但是我不断收到以下错误消息:

Fingerprint cannot be generated
Key type is forbidden. Must be RSA, ECDSA, or ED25519

我所做的是去Cmder并输入命令

ssh-keygen
cat ~/.ssh/id_rsa.pub

然后我将密钥通过网络浏览器复制到我的学校GitLab帐户中,并得到了上面提到的错误。

为什么会这样,我如何成功上传密钥?

3 个答案:

答案 0 :(得分:0)

您需要执行以下操作,而不只是ssh-keygen

 ssh-keygen -t ed25519 -C "email@example.com"

这将创建可与Gitlab一起使用的ED25519密钥。确保将电子邮件更改为您的电子邮件(与gitlab帐户相关联)。然后,使用新生成的.pub密钥并将其复制到以前的位置。

来源: https://docs.gitlab.com/ee/ssh/

答案 1 :(得分:0)

您很有可能会从终端中的密钥包装中复制并粘贴换行符,而这些字符本不应该存在。

粘贴密钥时,密钥应全部为一行。它可能以ssh-rsa开头(如果您生成RSA密钥;其他密钥类型将以类似的开头),并以类似you@machine的结尾。在ssh-rsa之后应该有一个空格,在you@machine之前应该有一个空格,但是不应存在换行符。

粘贴或在适当的文本编辑器中打开文件时,手动删除换行符即可在其中复制而无需换行符。

答案 2 :(得分:0)

我遇到了同样的错误,然后使用了 terraform 生成的 SSH 密钥并使用了以下输出:

public_key_pem 

通过使用

的输出修复
public_key_openssh