github拉取代码报:You‘re using an RSA key with SHA-1, which is no longer allowed

最近使用github拉取私有仓库的代码时,报如下错误:
在这里插入图片描述
git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks fetch origin
ERROR: You’re using an RSA key with SHA-1, which is no longer allowed. Please use a newer client or a different key type.
Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information.

之前生成的ssh key突然不能用了,重新生成也是一样。
后来参考github的文档,使用不同的算法重新生成ssh key后解决。
github文档参考:https://docs.github.com/cn/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

解决步骤

在本地生成ssh key

查看各种文档,发现生成ssh key使用的算法是rsa:

ssh-keygen -t rsa -C "123123@qq.com"

但是这种方式已经不可用了,生成之后加入到github还是报以上的错误!!!
正确的做法:

$ ssh-keygen -t ed25519 -C "your_email@example.com"

生成之后,会在本地生成两个文件:

  • id_ed25519
  • id_ed25519.pub

将公钥添加到github

在github主页,用户那里,点击下拉菜单->settings,如下图操作:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:github上添加的是公钥的内容,即id_ed25519.pub文件的内容

使用私钥生成sourcetree的私钥并添加到sourcetree

1.生成sourcetree的私钥

点击sourcetree的菜单:工具->创建或者导入ssh 密钥,点击load,选中上述生成的密钥文件:id_ed25519
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击确定,最后点击 save private key,选择保存的路径,就能生成sourcetree的密钥
在这里插入图片描述

2.添加soucetree的密钥到sourcetree

在sourcetree上点击菜单:工具->启动ssh 助手(如果已经启动,可以点击右下方的图标,双击即可弹出)
在这里插入图片描述

点击 add key,将刚刚生成的sourcetree.ppk添加
在这里插入图片描述

在这里插入图片描述
这样就完成了整个ssh操作,现在就可以拉取代码不会报错了:
在这里插入图片描述

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值