向gitlab帐户添加新SSH密钥时出现“无法生成指纹”

6ojccjat  于 2023-02-02  发布在  Git
关注(0)|答案(4)|浏览(480)

我尝试添加一个新的ssh密钥到我的GitLab帐户,但我不断得到以下错误:

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

我所做的就是去指挥官那里输入命令

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

然后我通过网络浏览器将密钥复制到我的学校GitLab帐户中,并得到了上面提到的错误。
为什么会发生这种情况,我如何才能成功上传我的密钥?

js4nwp54

js4nwp541#

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

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

这将创建一个可以在Gitlab中使用的ED25519密钥,确保将email地址更改为您的email地址(与gitlab帐户相关联),然后将新生成的.pub密钥复制到您之前所在的位置。
来源:https://docs.gitlab.com/ee/ssh/

ryoqjall

ryoqjall2#

很有可能你是从终端的密钥 Package 中复制并粘贴了不应该存在的换行符。
当你粘贴你的密钥时,它应该是一行一行的。它可能以ssh-rsa开头(如果你生成一个RSA密钥;其他键类型也以类似的方式开始),并以类似you@machine的形式结束。在ssh-rsa之后和you@machine之前应该各有一个空格,但不应该有换行符。
粘贴时手动删除换行符,或者在适当的文本编辑器中打开文件,在文本编辑器中可以复制不带换行符的文件。

neskvpey

neskvpey3#

我得到了相同的错误,然后使用由terraform生成的SSH密钥,并使用输出:

public_key_pem

通过使用的输出修复

public_key_openssh
wz8daaqr

wz8daaqr4#

使用以下命令生成SSH密钥后-
ssh-keygen -t ed25519 -C "<comment>"
然后将生成两个文件id_ed25519id_ed25519.pub
在代码编辑器中打开id_ed25519.pub文件并复制粘贴整个SSH密钥。

相关问题