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

是否可以禁用对用户的密码SSH访问,但允许每个用户的密钥validation? 我的意思是,我有一个用户A,我不想给基于密码的访问,但我不想让他只使用密钥身份validation访问服务器(S)。 谢谢

您可以添加“匹配”部分以匹配sshd_config底部的特定用户或组,如下所示:

Match user stew PasswordAuthentication no 

要么

 Match group dumbusers PasswordAuthentication no 

只需使用密码locking您不想login的用户的密码:

 usermod -L <user> 

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

注意:这将打破sudo,除非用户在他们的visudo条目中有NOPASSWD

你应该看看

 /etc/ssh/sshd_config 

我想你在找什么

 PasswordAuthentication yes 

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