涉及系统范围
- CentOS Stream 9
- AlmaLinux 9
- Rocky Linux 9
- Red Hat Enterprise Linux 9
- Fedora 33及以上
问题现象
使用FinalShell、nuoshell等部分SSH客户端软件通过RSA密钥远程连接ECS实例时,SSH客户端提示登录失败,sshd服务日志提示:
userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]
问题原因
CentOS Stream 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
命令查看当前系统的策略。
解决方案
您可以通过以下任一种方案解决该问题:*
方案一:使用ECDSA或者DSA等其他加密方式。
方案二:使用其他SSH客户端进行登录,例如阿里云自带的Workbench。
方案三:运行以下命令,切换策略为LEGACY。
update-crypto-policies --set LEGACY
update-crypto-policies --show