我有一台服务器(运行 openssh 8.1p1-2),其 sshd_config 配置如下,仅接受 ed25519 密钥:
PubkeyAcceptedKeyTypes [email protected],ssh-ed25519
这对我们的团队很有用。我们都只使用 ed25519 密钥。并且该指令正常工作,因为其他键类型被拒绝。
但是,现在我需要暂时让一个只能使用 rsa 密钥类型的人进行连接(根据他们无法控制的政策)。
我做了以下更改:
PubkeyAcceptedKeyTypes ssh-rsa,[email protected],[email protected],ssh-ed25519
...并重新启动 sshd:
systemctl restart sshd
根据systemctl status sshd
, sshd 状态是没有错误的。但是,当此人尝试连接服务器时,日志显示:
sshd[12345]: userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedKeyTypes [preauth]
客户端的错误很简单:
No more authentication methods to try. user@ip: Permission denied (publickey).
我不明白这个问题,因为ssh-rsa
在 PubkeyAcceptedKeyTypes 中。我错过了什么?
我刚刚遇到这个问题...我需要添加密钥类型 rsa-sha2-512 而不是 ssh-rsa。(还有一个 rsa-sha2-256,我不需要)。
我在 Arch 上使用 OpenSSH_8.2p1。
今天早上我在 Oracle Linux 机器上为此苦苦挣扎了太久。
如果您在相同或任何其他基于 RedHat 的发行版上运行,请检查您的
sshd_config
设置是否被系统默认加密策略的设置覆盖。update-crypto-policies
有关详细信息,请参见手册页crypto-policies
。/etc/crypto-policies/back-ends/opensshserver.config
应该显示当前由 OpenSSH 服务器的策略应用的设置。