禁用密码验证

禁用密码验证

假设我只想允许 SSH 身份验证,并禁用密码身份验证。

/etc/ssh/sshd_config通常会这样做:

PasswordAuthentication no

但在一些答案中人们推荐这样:

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

它们有什么不同?禁用密码验证的正确方法是什么?

答案1

PasswordAuthentication严格执行“用户名,密码”聊天,它是更通用的聊天的一个特例KbdInteractiveAuthentication(对于ChallengeResponseAuthentication,可以提供任意聊天,包括“用户名,密码”。如果您想禁用任何基于聊天的身份验证,则需要同时禁用两者。

UsePAM需要为这两者提供系统可插入身份验证模块支持(如果启用,则需要严格以 root 身份运行 sshd)。默认情况下,它是禁用的。

相关内容