答案1
PermitRootLogin without-password
有点用词不当(这就是为什么在 OpenSSH 的最新版本中它被弃用而改用 的原因PermitRootLogin prohibit-password
)。它的作用是允许 root 登录,但只能通过密码验证以外的方法;例如,允许基于密钥的验证。它对 root 以外的用户没有影响。
PasswordAuthentication no
禁止所有用户的密码验证。请注意,通过使用Match
块,可以仅禁止某些用户的密码验证,或者在全局禁止的情况下允许某些用户进行密码验证:
# Prohibit password authentication only for user foo
Match User foo
PasswordAuthentication no
# Prohibit password authentication for all users other than foo
PasswordAuthentication no
Match User foo
PasswordAuthentication yes
Match
块还可以匹配其他内容,例如,通过使用主机名匹配,您可以仅允许本地网络上的机器进行密码验证。man sshd_config
有关详细信息,请参阅。