OpenSSH:如何禁止弱(

OpenSSH:如何禁止弱(

OpenSSH 服务器是否有任何配置来禁止弱(例如<2048 位)RSA 密钥?我知道PubkeyAccetedAlgorithms它可以禁止特定的密钥类型,包括。rsa-sha2,作为一个整体。

答案1

我看不到它是运行时可配置的,但您可以更改SSH_RSA_MINIMUM_MODULUS_SIZEin的编译时定义sshkey.h并重新编译:

#define SSH_RSA_MINIMUM_MODULUS_SIZE    1024

#define SSH_RSA_MINIMUM_MODULUS_SIZE    2048

要么就是这样,要么就不要安装较短的密钥。authorized_keys至少如果我们接受编码密钥的长度作为实际密钥长度的指示符,则可以扫描用户的文件以查找比该长度更短的密钥。

2048 位 RSA 密钥的编码似乎有 372 个字符长,因此类似这样的内容可能会匹配较短的密钥:

grep -E 'ssh-rsa [a-zA-Z0-9+/=]{,371}( |$)' file...

答案2

RequiredRSASize选项被添加到OpenSSH 9.1,于 2022 年 10 月 4 日发布:

  • ssh(1)、sshd(8):添加RequiredRSASize指令以设置最小RSA密钥长度。对于 sshd(8) 中的用户身份验证和主机身份验证,低于此长度的密钥将被忽略。

    如果服务器提供的 RSA 密钥低于此限制,ssh(1) 将终止连接,因为 SSH 协议不包括重试失败的密钥交换的功能。

相关内容