为什么 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",使用另一种加密算法。

(完)

posted @ 2022-10-28 16:40  徐航宇  阅读(1132)  评论(1编辑  收藏  举报