2021-47: SSH 弃用 SHA-1 哈希算法
💡
原文中文,约1100字,阅读约需3分钟。
📝
内容提要
SSH 已弃用 SHA-1 哈希算法,导致使用旧版 RSA 密钥时出现 "no mutual signature algorithm" 错误。解决方法包括在配置文件中启用旧算法或更换为 ed25519 密钥。
🎯
关键要点
- SSH 已弃用 SHA-1 哈希算法,导致使用旧版 RSA 密钥时出现 'no mutual signature algorithm' 错误。
- 可以在配置文件中为特定主机启用旧算法,方法是在 ~/.ssh/config 中添加 'Host old-host PubkeyAcceptedAlgorithms +ssh-rsa'。
- 另一种解决方法是在命令中通过 '-o' 参数添加支持,例如 'ssh root@1.2.3.4 -o PubkeyAcceptedAlgorithms=+ssh-rsa'。
- 推荐的彻底解决方案是更换为 ed25519 密钥,注意该算法尚未被广泛支持。
- 如果需要访问老版本 OpenSSH,可以选择 ECDSA 算法作为替代。
❓
延伸问答
SSH 为什么弃用 SHA-1 哈希算法?
因为 SHA-1 哈希算法在密码学上已经不再安全。
遇到 'no mutual signature algorithm' 错误时该如何解决?
可以在 ~/.ssh/config 中为特定主机启用旧算法,或在命令中使用 '-o' 参数添加支持。
如何在 SSH 配置文件中启用旧版 RSA 算法?
在 ~/.ssh/config 中添加 'Host old-host PubkeyAcceptedAlgorithms +ssh-rsa'。
推荐的彻底解决方案是什么?
推荐更换为 ed25519 密钥,但注意该算法尚未被广泛支持。
如果需要访问老版本 OpenSSH,应该选择什么算法?
可以选择 ECDSA 算法作为替代。
如何生成 ed25519 密钥?
使用命令 'ssh-keygen -t ed25519 -C <hostname/email>' 来生成。
➡️