我在Git中使用ssh-keygen创建了一个公钥,它成功地创建为.ssh/id_rsa.pub。
ssh-keygen
.ssh/id_rsa.pub
然后我用SSH密钥把它上传到GitHub,并“授权”了它的SSO功能。
当在Eclipse中克隆存储库时,我得到以下消息
u7up0aaq1#
根据Github安全博客,带有SHA-1的RSA密钥不再被接受。使用以下命令创建新的SSH密钥(使用ECDSA加密)并将其添加到Github。ssh-keygen -t ecdsa -b 521 -C "your_email@example.com"原始答案及详细信息请参见here
RSA
ECDSA
ssh-keygen -t ecdsa -b 521 -C "your_email@example.com"
zz2j4svz2#
我必须生成一个ECDSA密钥,而不是RSA密钥。不知道为什么,但是没有一个RSA选项对我有效,包括默认的。
ssh-keygen -t ecdsa -b 256 -m PEM
我从https://stackoverflow.com/a/71502531/1005607那里得到的然后我把它上传到GitHub(先删除旧的密钥),更新Eclipse SSH2的私钥指向id_ecdsa。现在我可以克隆仓库了。
id_ecdsa
7rtdyuoh3#
您可以按照以下步骤解决此问题:在您的终端中键入以下命令ssh-keygen -t ecdsa -B 521 -C“your_email@example.com“,系统将询问您:
您将看到一条消息:“您公钥已保存在/user/machine/.ssh/id_ecdsa.pub中(仅作为示例)。-type cat(文件保存在my case /user/machine/.ssh/id_ecdsa.pub中)要查看新生成的ecdsa密钥,请复制并转到github创建一个新的ssh(不要忘记删除旧的)并粘贴它,然后保存在你的终端再次键入ssh-add(你新创建的id_ecdsa的目录)以将其添加到列表中。你将看到添加的身份:密钥目录我希望这对你有帮助
lkaoscv74#
小备注我不得不先从我的github帐户中删除旧密钥。我不确定这是否只是一些巧合。
wnrlj8wa5#
这与RSA密钥类型无关,而是与sha1签名的弱点有关。根据ssh-keygen(macOS 12.6)手册页中的-t flag部分,新版本的ssh-keygen默认使用sha 512:
-t
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客户端实际上使用了正确的密钥文件。
5条答案
按热度按时间u7up0aaq1#
根据Github安全博客,带有SHA-1的
RSA
密钥不再被接受。使用以下命令创建新的SSH密钥(使用
ECDSA
加密)并将其添加到Github。ssh-keygen -t ecdsa -b 521 -C "your_email@example.com"
原始答案及详细信息请参见here
zz2j4svz2#
我必须生成一个ECDSA密钥,而不是RSA密钥。不知道为什么,但是没有一个RSA选项对我有效,包括默认的。
我从https://stackoverflow.com/a/71502531/1005607那里得到的
然后我把它上传到GitHub(先删除旧的密钥),更新Eclipse SSH2的私钥指向
id_ecdsa
。现在我可以克隆仓库了。7rtdyuoh3#
您可以按照以下步骤解决此问题:
在您的终端中键入以下命令ssh-keygen -t ecdsa -B 521 -C“your_email@example.com“,系统将询问您:
您将看到一条消息:“您公钥已保存在/user/machine/.ssh/id_ecdsa.pub中(仅作为示例)。
-type cat(文件保存在my case /user/machine/.ssh/id_ecdsa.pub中)要查看新生成的ecdsa密钥,请复制并转到github创建一个新的ssh(不要忘记删除旧的)并粘贴它,然后保存
在你的终端再次键入ssh-add(你新创建的id_ecdsa的目录)以将其添加到列表中。你将看到添加的身份:密钥目录
我希望这对你有帮助
lkaoscv74#
小备注我不得不先从我的github帐户中删除旧密钥。我不确定这是否只是一些巧合。
wnrlj8wa5#
这与RSA密钥类型无关,而是与sha1签名的弱点有关。根据ssh-keygen(macOS 12.6)手册页中的
-t
flag部分,新版本的ssh-keygen默认使用sha 512:使用**
-t
标志**覆盖不推荐使用的键类型可能会有所帮助:另外,仔细检查并确保您的Git客户端实际上使用了正确的密钥文件。