CentOS Stream 9 Rocky Linux 9等操作系统,在某些ssh客户端或程序中不能正常链接。
通过监控服务器tail -f /var/log/secure
,得到一下错误提示
userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]
问题原因
CentOS Stream 9 / Rocky Linux 9系列系统在OS内部的crypto-policies策略默认为DEFAULT,在该策略模式下openssh-server禁用了ssh-rsa(rsa/SHA1)签名算法。
由于FinalShell、nuoshell等部分SSH客户端软件默认仅支持使用ssh-rsa(rsa/SHA1)签名算法,不能兼容使用rsa-sha2-256(rsa/SHA256)或者rsa-sha2-512(rsa/SHA512),所以无法登录。
您可以通过update-crypto-policies --show
命令查看当前系统的策略。
如果不想换成更安全的登录方式,则可以简单粗暴的打开ssh-rsa算法支持.
运行以下命令,切换策略为LEGACY。
update-crypto-policies --set LEGACY
update-crypto-policies --show
⚠️ 重要提示: LEGACY策略模式可能存在未知安全隐患,请您谨慎操作。