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

mil*_*dos 22 linux ssh

是否可以禁用对用户的 PASSWORD SSH 访问,但允许基于每个用户的密钥身份验证?我的意思是,我有一个 userA,我不想给他提供基于密码的访问权限,但我不想他只使用密钥身份验证来访问服务器。谢谢

ste*_*tew 51

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

Match user stew
PasswordAuthentication no
Run Code Online (Sandbox Code Playgroud)

或者

Match group dumbusers
PasswordAuthentication no
Run Code Online (Sandbox Code Playgroud)

  • 我会避免缩进,因为它表明只有缩进的行受“匹配”影响,而实际上,所有配置都会受到影响,直到下一个“匹配”指令。不熟悉语法的人可能会感到困惑。 (9认同)
  • @NickT `Match` 一直工作到下一个 `Match` 或 `Host` 关键字。你可以只使用`Match user *`。 (4认同)
  • @MichaelMior 有没有办法“EndMatch”? (2认同)