ssh(openssh8.8) 连接失败 Permission denied (publickey)

ssh(openssh8.8) 连接失败 Permission denied (publickey),第1张

ssh(openssh8.8) 连接失败 Permission denied (publickey)

最近我的 arch 系统(Manjaro)升级后出现无法连接码云服务器的问题,提示很常见的 Permission denied (publickey),在码云设置中删除添加 ssh 公钥也没有用。

直到看了 Why OpenSSH 8.8 cannot find a host key type if ssh-rsa is provided - DEV Community 才知道原因。

在 openssh 8.8 release 文档 中介绍由于 SHA-1 哈希算法安全性的原因,ssh-rsa 算法被默认禁用,原有 rsa 密钥将使用更强的算法。而对于使用老版本 SSH 的服务器(7.2 以前),使用 8.8 版本新 SSH 客户端连接时会有兼容性问题,需要手动启用 ssh-rsa:编辑 ~/.ssh/config 添加以下内容

Host old-host
    HostkeyAlgorithms +ssh-rsa
    PubkeyAcceptedAlgorithms +ssh-rsa

将 old-host 替换为对应服务器域名,比如一个 git 仓库的地址为 git@gitee.com:gkzhb/dotfiles.git ,域名对应就是 gitee.com。如果有多个域名把以上内容复制多份,分别修改 old-host。

之后通过 ssh -T gitee.com 测试能否连接成功。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/3990721.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-21
下一篇 2022-10-21

发表评论

登录后才能评论

评论列表(0条)

保存