我们的服务器集群出于救援目的启用了远程根访问权限,并且我们通常会设置,PermitRootLogin prohibit-password
因为/etc/ssh/sshd_config
LDAP 用户仍然可以使用密码登录。
最近,我们添加了一个具有非常严格访问控制的额外服务器,并且我们已将其PasswordAuthentication
设置为否,因此只有拥有 SSH 密钥的特定用户才能登录。但是,默认设置PermitRootLogin yes
仍然保留了一段时间而未被注意到。(这不是一个真正的问题,因为我们还删除了 root 用户的密码,因此除非直接在 KVM 控制台上,否则任何人都无法登录。)
我的问题是,使用PasswordAuthentication no
set ,PermitRootLogin yes
其行为是否与 相同prohibit-password
?
答案1
prohibit-password
表示使用除密码和键盘交互之外的任何允许机制进行身份验证。请参阅sshd_config 允许Root登录
PasswordAuthentication no
只是意味着使用任何允许的机制(显然不是密码)进行身份验证。参见sshd_config 密码验证
因此,答案是否定的。
此外,它prohibit-password
是特定于根帐户的,PasswordAuthentication no
是一个影响所有帐户的全局设置。
但请注意,如果你不使用 keyboardinteractive,那么答案是肯定的(仅考虑 root 帐户)