限制每个用户的基于密码的 SSH 访问,但允许密钥认证

限制每个用户的基于密码的 SSH 访问,但允许密钥认证

是否可以禁用用户的密码 SSH 访问,但允许每个用户进行密钥身份验证?我的意思是,我有一个用户 A,我不想授予他基于密码的访问权限,但我希望他只使用密钥身份验证来访问服务器。谢谢

答案1

您可以在 sshd_config 的底部添加“匹配”部分来匹配特定的用户或组,例如:

Match user stew
PasswordAuthentication no

或者

Match group dumbusers
PasswordAuthentication no

答案2

只需锁定您不想用密码登录的用户的密码即可:

usermod -L <user>

然后,在他们的文件中放置一个有效的公钥.ssh/authorized_keys,他们将只能使用相应的私钥登录,而不能使用密码登录。

笔记:除非用户在 visudo 条目中输入了 NOPASSWD:,否则这将破坏 sudo

答案3

你应该调查

/etc/ssh/sshd_config

我认为你要找的是

PasswordAuthentication yes

将其更改为 no,并且不要忘记重新启动 sshd

相关内容