今天在使用git拉取代码时突然遇到一个奇怪的错误:

image.png

起初以为是误删了远程端的public key。重新添加后也还是一样的错误。

后面仔细看了下报错内容:no matching host key type found . Their offer: ssh-rsa

上网一搜发现原来是openssh新版本默认不再支持ssh-rsa,因此可以考虑使用ed25519来生成新的秘钥。

ssh-keygen -t ed25519 -C "email"

而我的环境特殊,并不能更换到ed25519,因此采用另一种方法,修改config文件来让openssh重新启用ssh-rsa。

在.ssh路径下创建config文件(如果已经有则直接在文件末尾追加)并添加下面内容:

Host *
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa

image.png

到此处重新使用git即可发现已经可以正常使用了。

最后修改:2023 年 06 月 13 日
如果觉得我的文章对你有用,请随意赞赏