如何为某些用户禁用 SSH 密码验证
场景:
- 禁止拥有root权限的用户,通过密码进行身份验证(强制要求秘钥验证)
- 允许普通用户,通过密码进行身份验证
单独处理上面的每个场景这不难办到,但是想同时满足上面的条件,得通过下面的方法来设置。
打开配置文件
vim /etc/ssh/sshd_config
修改配置文件
- 如果要禁用所有用户的 SSH 身份验证,请在文件中查找 PasswordAuthentication 指令,并将其设置为 No。(ssh默认允许密码身份验证)
PasswordAuthentication no
- 如果要禁用特定用户(例如 user1、user2)的密码身份验证,则使用 Match User 指令将上述 PasswordAuthentication 规则仅应用于这些用户。
Match User user1,user2 PasswordAuthentication no
- 如果您想为特定用户组(例如 users)中的所有用户禁用密码验证,请使用 Match Group 条件仅匹配这些用户,如下所示。
Match Group users PasswordAuthentication no
- 如果要禁用除 root 用户以外的所有用户的密码验证,也可以使用否定运算符来指定。
Match User !root PasswordAuthentication no
保存并关闭配置文件
重启ssh服务
sshd -t && systemctl restart sshd