背景
centos 系统升级 openSSH 后,服务器上无奈再拉取代码,报错如下:
起因
服务器重新安装 SSH 后公钥扭转,须要重新安装
ssh-keygen -t rsa -C “ 邮箱地址 ”
生成公钥,删除 gitlab 原有公钥,然而 git pull 仍然报错如下:
仍然提醒公钥有问题,没有 pull 权限
解决方案
1、删除.ssh/known_hosts 外面的内容
2、如果从新生成公钥还是没法 pull 代码可能会有一下状况
3、8.8 版本开始 OpenSSH 就不反对 rsa 加密算法了,mac 也是因为降级了 OpenSSH,所以不反对 rsa 算法
4、GitHub 通过在 2022 年 3 月 15 日删除旧的、不平安的密钥类型来进步安全性。
ssh-dss
自该日期起,不再反对 DSA
密钥 ()。您不能将新的 DSA 密钥增加到您在 GitHub.com
上的个人帐户。
2021 年 11 月 2 日之前的 RSA 密钥 (ssh-rsa) valid_after
能够持续应用任何签名算法。在该日期之后生成的 RSA 密钥必须应用 SHA-2
签名算法。一些较旧的客户端可能须要降级能力应用 SHA-2
签名。
ssh-keygen -t ed25519 -C "<comment>"
留神:如果您应用的是不反对 Ed25519 算法的旧零碎,请应用:
ssh-keygen -t rsa -b 4096 -C "<comment>"
5、应用 rsa 算法生成不反对的话改用 ed25519 的加密形式生成公钥,配置后就能够了
以上是自己开发中遇到的问题,以及解决方案,如果帮忙请抉择应用