Eclipse/Git:您正在使用带有SHA-1得RSA密钥,这已不再被允许.请使用更新得客户端或不同得密钥类型.

bqjvbblv  于 2022-11-04  发布在  Eclipse
关注(0)|答案(5)|浏览(467)

我在Git中使用ssh-keygen创建了一个公钥,它成功地创建为.ssh/id_rsa.pub

然后我用SSH密钥把它上传到GitHub,并“授权”了它的SSO功能。

当在Eclipse中克隆存储库时,我得到以下消息

u7up0aaq

u7up0aaq1#

根据Github安全博客,带有SHA-1的RSA密钥不再被接受。
使用以下命令创建新的SSH密钥(使用ECDSA加密)并将其添加到Github。
ssh-keygen -t ecdsa -b 521 -C "your_email@example.com"
原始答案及详细信息请参见here

zz2j4svz

zz2j4svz2#

我必须生成一个ECDSA密钥,而不是RSA密钥。不知道为什么,但是没有一个RSA选项对我有效,包括默认的。

ssh-keygen -t ecdsa -b 256 -m PEM

我从https://stackoverflow.com/a/71502531/1005607那里得到的
然后我把它上传到GitHub(先删除旧的密钥),更新Eclipse SSH2的私钥指向id_ecdsa。现在我可以克隆仓库了。

7rtdyuoh

7rtdyuoh3#

您可以按照以下步骤解决此问题:
在您的终端中键入以下命令ssh-keygen -t ecdsa -B 521 -C“your_email@example.com“,系统将询问您:

  • “输入要保存密钥的文件”点击回车
  • 输入密码(空白表示无密码)再次单击Enter
  • 再次输入相同的密码短语,单击Enter

您将看到一条消息:“您公钥已保存在/user/machine/.ssh/id_ecdsa.pub中(仅作为示例)。
-type cat(文件保存在my case /user/machine/.ssh/id_ecdsa.pub中)要查看新生成的ecdsa密钥,请复制并转到github创建一个新的ssh(不要忘记删除旧的)并粘贴它,然后保存
在你的终端再次键入ssh-add(你新创建的id_ecdsa的目录)以将其添加到列表中。你将看到添加的身份:密钥目录
我希望这对你有帮助

lkaoscv7

lkaoscv74#

小备注我不得不先从我的github帐户中删除旧密钥。我不确定这是否只是一些巧合。

wnrlj8wa

wnrlj8wa5#

这与RSA密钥类型无关,而是与sha1签名的弱点有关。根据ssh-keygen(macOS 12.6)手册页中的-t flag部分,新版本的ssh-keygen默认使用sha 512:

This flag may also be used to specify the desired signature type when signing certificates
using an RSA CA key. The available RSA signature variants are “ssh-rsa” (SHA1 signatures,
not recommended), “rsa-sha2-256”, and “rsa-sha2-512” (the default).

使用**-t标志**覆盖不推荐使用的键类型可能会有所帮助:

ssh-keygen -t rsa-ssh2-512

另外,仔细检查并确保您的Git客户端实际上使用了正确的密钥文件。

相关问题