在最近从 Debian 11 升级的 Debian 12 Bookworm(运行 OpenSSH_9.2)上, 默认情况下仅可用rsa-sha2-512、rsa-sha2-256服务器主机密钥算法。sshd_config 中的设置HostKeyAlgorithms +additional-algorithm-to-use
(本身非常基本)仅允许添加ssh-rsa而不允许添加其他。HostKeyAlgorithms 的手册页列出了以下默认值(我希望开箱即用):
- [电子邮件受保护],
- [电子邮件受保护],
- [电子邮件受保护],
- [电子邮件受保护],
- [电子邮件受保护],
- [电子邮件受保护],
- [电子邮件受保护],
- [电子邮件受保护],
- ssh-ed25519,
- ECDSA-SHA2-NISTP256,ECDSA-SHA2-NISTP384,ECDSA-SHA2-NISTP521,
- [电子邮件受保护],
- [电子邮件受保护],
- rsa-sha2-512,rsa-sha2-256
ssh -Q HostKeyAlgorithms
可用算法的查询返回:
- ssh-ed25519
- [电子邮件受保护]
- [电子邮件受保护]
- [电子邮件受保护]
- ECDSA-SHA2-Nistp256
- [电子邮件受保护]
- ECDSA-SHA2-NISTP384
- [电子邮件受保护]
- ECDSA-SHA2-nistp521
- [电子邮件受保护]
- [电子邮件受保护]
- [电子邮件受保护]
- [电子邮件受保护]
- ssh-DSS
- [电子邮件受保护]
- SSH-RSA
- [电子邮件受保护]
- rsa-sha2-256
- [电子邮件受保护]
- rsa-sha2-512
- [电子邮件受保护]
例如,当尝试使用从同一主机连接时ssh localhost -oHostKeyAlgorithms=ecdsa-sha2-nistp256 -vvv
,我"Unable to negotiate with 127.0.0.1 port 22: no matching host key type found. Their offer rsa-sha2-512,rsa-sha2-256,ssh-rsa
在本地安装了一个普通的 Debian 12 VM 来比较行为,当我运行相同的命令时,协商成功。
我非常感谢有关如何使其他主机密钥算法可用的建议。