当 PasswordAuthentication=no 时,PermitRootLogin=prohibit-password 是否仍然需要?

当 PasswordAuthentication=no 时,PermitRootLogin=prohibit-password 是否仍然需要?

我们的服务器集群出于救援目的启用了远程根访问权限,并且我们通常会设置,PermitRootLogin prohibit-password因为/etc/ssh/sshd_configLDAP 用户仍然可以使用密码登录。

最近,我们添加了一个具有非常严格访问控制的额外服务器,并且我们已将其PasswordAuthentication设置为否,因此只有拥有 SSH 密钥的特定用户才能登录。但是,默认设置PermitRootLogin yes仍然保留了一段时间而未被注意到。(这不是一个真正的问题,因为我们还删除了 root 用户的密码,因此除非直接在 KVM 控制台上,否则任何人都无法登录。)

我的问题是,使用PasswordAuthentication noset ,PermitRootLogin yes其行为是否与 相同prohibit-password

答案1

prohibit-password表示使用除密码和键盘交互之外的任何允许机制进行身份验证。请参阅sshd_config 允许Root登录

PasswordAuthentication no只是意味着使用任何允许的机制(显然不是密码)进行身份验证。参见sshd_config 密码验证

因此,答案是否定的。

此外,它prohibit-password是特定于根帐户的,PasswordAuthentication no是一个影响所有帐户的全局设置。

但请注意,如果你不使用 keyboardinteractive,那么答案是肯定的(仅考虑 root 帐户)

相关内容