Eclipse/Git: "You're using an RSA key with SHA-1, which is no longer allowed. Please use a newer client or a different key type."

Eclipse/Git: "You're using an RSA key with SHA-1, which is no longer allowed. Please use a newer client or a different key type."

我使用 ssh-keygen 在 Git 中创建了一个 public 密钥,该密钥已成功创建为 .ssh/id_rsa.pub

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

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

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

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

我从

然后我将它上传到 GitHub(先删除我的旧密钥之后),更新我的 Eclipse SSH2 私钥以指向 id_ecdsa。现在我可以克隆存储库了。

根据 Github 安全博客 RSA 不再接受带有 SHA-1 的密钥。

使用以下命令创建带有 ECDSA 加密的新 SSH 密钥并将其添加到 Github。

ssh-keygen -t ecdsa -b 521 -C "your_email@example.com"

可以找到带有详细信息的原始答案here

小提示我必须先从我的 github 帐户中删除旧密钥。不知道是不是巧合

您可以按照以下步骤解决此问题:

在您的终端中键入此命令 ssh-keygen -t ecdsa -b 521 -C "your_email@example.com" 你会被问到:

-“输入要保存密钥的文件”点击进入

-输入密码(没有密码为空)再次点击输入

  • 再次输入相同的密码点击进入

您将收到一条消息“您的 public 密钥已保存在 /user/machine/.ssh/id_ecdsa.pub(仅作为示例)。

-type cat(在我的例子中文件保存在 /user/machine/.ssh/id_ecdsa.pub)要查看新生成的 ecdsa 密钥 .copy 并转到 github 创建一个新的 ssh(不要忘记删除旧的)并粘贴然后保存

在您的终端中再次输入 ssh-add(您新创建的 id_ecdsa 的目录)以将其添加到列表中。你会看到添加了身份:你的密钥目录

希望这对您有所帮助