使用 usermod 阻止基于密码的登录,允许公钥登录

使用 usermod 阻止基于密码的登录,允许公钥登录

usermod 的手册页说明了有关锁定用户帐户的内容:

   -L, --lock
       Lock a user's password. This puts a ´!´ in front of the encrypted password, effectively disabling the password. You can´t use this option with -p or -U.

我曾尝试使用此功能让用户仅使用公钥登录,但当我锁定帐户时,我会收到密码提示。当我再次解锁帐户时,公钥就可以正常工作了。

编辑:说清楚一点:我希望能够仍然使用密钥登录,并且以某种方式锁定用户会在我尝试使用密钥时提示我输入密码

答案1

正如手册页所述,这有效地锁定密码 - 这使得无法使用现存的该帐户的密码。

它不会禁用基于密码的登录 - 您需要为此设置正确的 sshd(8) 选项。

我假设你的意思是“通过 ssh 远程登录”,因为我不知道如何在本地使用公钥。

答案2

锁定密码usermod实际上会锁定您的整个帐户,正如您所注意到的。(系统将!密码前面添加的视为不是允许您登录。)

*如果您通过在密码前面放置例如来破解密码哈希,您仍然可以使用公钥登录。

您确实想要一个密码来用于可能的控制台登录等,但是禁用 ssh 的密码登录。

在 /etc/ssh/sshd_config 中:

  PasswordAuthentication no

相关内容