本文介绍使用第三方SSH客户端登录Linux实例时,提示“Access denied”错误的问题原因和解决方案。
问题现象
第三方SSH客户端登录轻云互联Linux服务器时,提示“Access denied”错误。执行cat /var/log/secure
查看登录日志,发现会出现类似如下信息。
Permission denied, please try again.
User test from 192.168.xxx.xxx not allowed because not listed in AllowUsers.
User test from 192.168.xxx.xxx not allowed because listed in DenyUsers.
User root from 192.168.xxx.xxx not allowed because a group is listed in DenyGroups.
User test from 192.168.xxx.xxx not allowed because none of user's groups are listed in AllowGroups.
问题原因
该问题通常是由于服务器内SSH远程登录配置文件(/etc/ssh/sshd_config)中启用了用户登录控制参数,对可登录用户进行限制所致,用户登录控制参数说明如下。
-
AllowUsers:允许登录的用户白名单,只有该参数标注的用户可以登录。
-
DenyUsers:拒绝登录的用户黑名单,该参数标注的用户都拒绝登录。
-
AllowGroups:允许登录的用户组白名单,只有该参数标注的用户组可以登录。
-
DenyGroups:拒绝登录的用户组黑名单,该参数标注的用户组都拒绝登录。
拒绝策略优先级高于允许策略,具体说明如下。
-
如果AllowUsers和DenyUsers参数包含了同一个用户,因拒绝策略优先,所以该用户无法登录。
-
如果AllowUsers中的用户在DenyGroups用户组中,因拒绝策略优先,所以该用户无法登录。
解决方案
您可以修改SSH远程登录配置文件(/etc/ssh/sshd_config)中用户登录控制参数,以解决该问题。
-
使用轻云官网中服务器面板内控制台VNC方式登录机器实例
-
执行如下命令,查看sshd_config文件。
cat /etc/ssh/sshd_config
系统显示类似如下,表示拒绝test用户登录。
AllowUsers root test DenyUsers test DenyGroups test AllowGroups root
-
修改用户登录控制参数。
-
打开SSH配置文件。
vi /etc/ssh/sshd_config
-
根据业务需要,修改用户登录控制参数。
如下所示,在策略配置前添加#,取消用户访问控制,以确保相关用户能够正常登录。
#AllowUsers root test #DenyUsers test #DenyGroups test #AllowGroups root
-
按Esc键,输入
:wq
保存修改。
-
-
执行如下命令,重启SSH服务。
systemctl restart sshd.service
-
重新登录Linux服务器,确保可以正常登录。