在 SSH 中创建用户特定的身份验证方法

信息安全 验证 密钥管理 SSH 密钥生成 服务器
2021-09-03 02:05:44
  1. 我已经在 Ubuntu 服务器上配置了 sshd 以使用密钥身份验证,它工作正常。
  2. 我必须禁用密码身份验证才能进行密钥身份验证。
  3. 服务器始终通过远程终端或腻子访问。

现在所有用户帐户都可以使用身份验证密钥和密码登录。但是现在我只想创建一个没有密钥身份验证的新用户。那么我应该如何以不妨碍使用密钥身份验证的其他用户的方式进行此操作。

2个回答

您可以使用Matchinsshd_config选择单个用户来更改PasswordAuthentication指令。在文件底部输入这些Match规则(一般sshd_config/etc/ssh/sshd_config

Match User root,foo,bar
    PasswordAuthentication no
Match User Rishee
    PasswordAuthentication yes

这将提供 root、foo 和 bar 密钥身份验证以及 Rishee 密码身份验证。

另一种方法是通过否定匹配,如下所示:

PasswordAuthentication no
Match User *,!root
    PasswordAuthentication yes

在这种情况下,除 root 之外的每个人都获得密码验证。

注意:*,语法是必需的,因为通配符和否定语法仅在逗号分隔的列表中解析。

您还可以按组匹配:

Match Group usergroup
    PasswordAuthentication no

Match在文件底部输入的原因:

如果 Match 行上的所有条件都满足,则以下行中的关键字将覆盖配置文件的 global 部分中设置的关键字,直到另一个 >Match 行或文件末尾

您可以同时启用密码和密钥认证,它们不是独占的。