本指南解释了如何在 Linux 和 Unix 操作系统中为特定用户或组禁用 SSH 密码验证。
请注意,我们不会完全禁用对用户或组的 SSH 访问。 相反,我们将仅禁用 SSH 密码身份验证。
用户仍然可以使用其他身份验证方法通过 SSH 访问系统,例如基于 SSH 密钥的身份验证。
内容
禁用特定用户或组的 SSH 密码验证
我们可以允许或拒绝用户和/或整个组的 SSH 访问使用 “/etc/ssh/sshd_config” Linux 中的文件。 sshd_config 文件有一个名为的参数 “比赛” 这将帮助您禁用用户或组的 SSH 密码身份验证。
让我们首先看看如何禁用特定用户的密码验证。
使用您喜欢的编辑器以 root 或 sudo 用户:
$ sudo nano /etc/ssh/sshd_config
首先,通过注释掉以下行来删除默认身份验证方法:
#PasswordAuthentication yes
接下来,在最后添加以下几行:
[...] Match User senthil PasswordAuthentication no
请注意 Match 有效“直到另一个 Match 行或文件末尾”。 如果某个关键字出现在多个满足的 Match 块中,则仅应用该关键字的第一个实例。
根据上面的示例,我们已禁用名为“senthil”的用户的 SSH 密码身份验证。 用您自己的用户名替换“senthil”。 Save 和 close 文件。 重启 ssh 服务使更改生效:
$ sudo systemctl restart ssh
现在尝试通过 SSH 以用户“senthil”的身份登录:
$ ssh [email protected]
您将看到以下错误消息:
[email protected]: Permission denied (publickey).