为什么 Mac 更新 Ventura 13.0 后 git / ssh 无法正常使用?
为什么 Mac 更新 Ventura 13.0 后 git / ssh 无法正常使用?
很多同学更新系统之后,使用 git 或者 ssh 都会遇到一条报错,类似于:
Permission denied (publickey,gssapi-with-mic).
通过 ssh -vvv
查看日志后发现,是因为一直找不到私钥的文件位置。
这是因为 Mac 在更新版本后,OpenSSH 的版本提升到了 9.0。
但从 8.8 版本开始,OpenSSH 就默认不支持 rsa 加密算法了,因为觉得ssh-rsa加密方式不安全,因此从 8.8 开始默认不允许这种密钥用于登陆了……
实际上,如果是使用 Windows 的同学,应该很早就已经发现了这个问题,因为 Windows 的 git 更早的更新了 OpenSSH 的版本。
所以我们需要手动声明支持 rsa 的方式。
在 ~/.ssh/config
中新增:
Host *
PubkeyAcceptedKeyTypes +ssh-rsa
HostKeyAlgorithms +ssh-rsa
即可继续使用已有的 rsa 密钥。
或者可以重新生成密钥对:ssh-keygen -t ed25519 -C "your@example.email"
,使用另一种加密算法。
(完)
作者:几乎一米八的徐某某
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。