如何在 Fedora Linux 上的 openssh-server 中禁用 RSA 和 ECDSA 密钥

如何在 Fedora Linux 上的 openssh-server 中禁用 RSA 和 ECDSA 密钥

我读到 RSA 和 EDCSA 算法在速度和空间方面不如 Ed25519,对于我的小型 Beowulf 集群,我只想使用 Ed25519。但是,当我尝试删除、截断或以其他方式丢弃 /etc/ssh 中的密钥时,sshd 服务器每次启动时都会重建新密钥。

我尝试过以下解决方案https://apple.stackexchange.com/questions/342836/disable-ecdsa-ssh-host-keys毫无效果。每次服务器启动时都会创建新密钥。并且设置 HostKeyAlgorithms 以排除这些类型也失败了。

如果我可以让服务器不偏好 ECDSA,这甚至会有所帮助 —— 它似乎尽可能地使用这些。

答案1

我猜你使用的是 OpenSSH?首先使用ssh -Q key列出你版本中支持的所有密钥。手册中的相关部分是

-Q cipher | cipher-auth | mac | kex | key | protocol-version
查询ssh指定版本 2 支持的算法。可用的功能有:(cipher支持的对称密码)、cipher-auth(支持认证加密的支持对称密码)、mac(支持的消息完整性代码)、kex(密钥交换算法)、key(密钥类型)和protocol-version(支持的 SSH 协议版本)。

利用这些信息,明确设置您想要的/etc/sshd_config并重新加载。例如:

PubkeyAcceptedKeyTypes ssh-ed25519,[email protected]

答案2

我得出的结论是,至少在 Fedora 上没有答案。

正如对 guidux 的回答的评论中提到的,有一个针对 Apple 产品的 ssh 服务器的解决方案,我已经在我的 Xubuntu 系统上成功尝试过 - 因此它们似乎可以在所有与 Debian 相关的发行版上运行。然而在 Fedora 上,这些“解决方案”要么失败,要么阻止 ssh 服务器启动,这可能适用于所有与 RedHat 相关的发行版。

相关内容