SSH登录时报User root not allowed because not listed in

SSH登录时报User root not allowed because not listed in

问题现象

使用 SSH 连接Linux 云服务器时,客户端或服务端 secure 日志(可以通过 VNC 进入系统查看)中可能会出现类似如下信息,导致用户无法正常登录:

? Permission denied, please try again.

? User test from 192.168.0.1 not allowed because not listed in AllowUsers.

? User test from 192.168.0.1 not allowed because listed in DenyUsers.

? User root from 192.168.0.1 not allowed because a group is listed in DenyGroups.

? User test from 192.168.0.1 not allowed because none of user's groups are listed in AllowGroups.

问题原因

该问题通常是由于 SSH 服务启用了用户登录控制参数,对可登录用户进行限制所致。

处理办法

SSH 服务相关参数,可以对登录的用户或用户组进行限制。说明如下:

? AllowUsers:允许登录的用户白名单。只有该参数标注的用户可以登录。

? DenyUsers:拒绝登录的用户黑名单。该参数标注的用户都拒绝登录。

? AllowGroups:允许登录的用户组白名单。只有该参数标注的用户组可以登录。

? DenyGroups:拒绝登录的用户组黑名单。该参数标注的用户组都拒绝登录。

注意: 拒绝策略优先级高于允许策略。比如:

? 如果 AllowUsers 和 DenyUsers 参数包含了同一个用户,则拒绝策略优先,所以最终该用户还是无法登录。

? 如果 AllowUsers 和 DenyGroups 参数包含了同一个用户,则拒绝策略优先,所以最终该用户还是无法登录。

要解决此问题,对前述不同情况,请进行如下配置检查或修改:

1.通过 VNC 进入系统。

2.通过 cat 等指令查看 /etc/ssh/sshd_config 中是否包含类似如下配置:

AllowUsers root test

DenyUsers test

DenyGroups test

llowGroups root

3.如果需要修改相关策略配置,在继续之前建议进行文件备份。

4.使用 vi 等编辑器,修改策略配置,以确保相关用户能够正常登录。或者整个删除或注释(在最开头添加 # 号)整行配置(完全取消用户访问控制):

#AllowUsers root test

#DenyUsers test

#DenyGroups test

#AllowGroups root

5.使用如下指令,重启 SSH 服务使配置生效:

service sshd restart

标签

发表评论