问题

Github 拉取文件时,报如下错

1
2
3
4
5
6
命令: git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks ls-remote git@github.com:pengjugame/Hexo.git
输出:
错误: 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.

fatal: Could not read from remote repository.

因为当前电脑好像时间没有登录,看起来像是当前的密钥类型不再支持了

解决办法

使用新的算法生成密钥即可

1
ssh-keygen -t ed25519 -m PEM -C "your_email@example.com"

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

1
2
id_ed25519
id_ed25519.pub

将公钥添加到 Github

在 Github 主页,User 头像处,点击下拉菜单 =>settings->[SSH and GPG keys],添加新的 SSH-KEY
id_ed25519.pub的内容复制粘贴进去

生成 SourceTree 的私钥

因为 SourceTree 使用的是 ppk 格式的,要进行一下转换
菜单:工具 -> 创建或者导入 ssh 密钥,点击 load, 再框中选择类型中选择”All Files(.)”选中上述生成的密钥文件:id_ed25519
然后就会打开,打开之后再点击Save private key,将文件存为id_ed25519.ppk或者其它的 ppk 即可

添加密钥到 SourceTree

菜单:工具 -> 启动 ssh 助手,或者任务栏中点击小电脑图标
点击add key
将生成的私钥添加进去即可

Github 拉取正确

测试拉取正确