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>' 来生成。

🏷️

标签

➡️

继续阅读