Apr
12
2021
使用SSH命令登录Linux实例时出现“User root not allowed because not listed in”错误
问题描述
使用SSH连接Linux系统的ECS实例时,客户端或服务端的secure日志中可能会出现类似如下信息,用户无法正常登录。
- Permission denied, please try again.
- User test from 192.X.X.1 not allowed because not listed in AllowUsers.
- User test from 192.X.X.1 not allowed because listed in DenyUsers.
- User root from 192.X.X.1 not allowed because a group is listed in DenyGroups.
- User test from 192.X.X.1 not allowed because none of user's groups are listed in AllowGroups.
问题原因
该问题通常是由于SSH服务启用了用户登录控制参数,对可登录用户进行限制所致,参数说明如下。
- AllowUsers:允许登录的用户白名单,只有该参数标注的用户可以登录。
- DenyUsers:拒绝登录的用户黑名单,该参数标注的用户都拒绝登录。
- AllowGroups:允许登录的用户组白名单,只有该参数标注的用户组可以登录。
- DenyGroups:拒绝登录的用户组黑名单,该参数标注的用户组都拒绝登录。
拒绝策略优先级高于允许策略,如下所示。
- 如果“AllowUsers”和“DenyUsers”参数包含了同一个用户,则拒绝策略优先,所以最终该用户还是无法登录。
- 如果“AllowUsers”中的用户在“DenyGroups”用户组中,则拒绝策略优先,所以最终该用户还是无法登录。
解决方案
阿里云提醒您:
- 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
- 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
- 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
本文相关Linux配置及说明已在CentOS 6.5 64位操作系统中进行过测试。其它操作系统版本配置可能有所差异,具体情况请参阅相应操作系统官方文档。
- 登录Linux实例。
-
执行如下命令,查看sshd_config文件。
cat /etc/ssh/sshd_config
AllowUsers root test DenyUsers test DenyGroups test AllowGroups root
- 由于需要修改相关策略配置,建议先进行文件备份。
-
使用vi等编辑器,删除策略配置,也可以注释策略配置,如下所示,在策略配置前添加 #。完全取消用户访问控制,以确保相关用户能够正常登录。
#AllowUsers root test #DenyUsers test #DenyGroups test #AllowGroups root
-
执行如下命令,重启SSH服务使配置生效。
service sshd restart
如果您有其他问题,可以联系汉中创云互联阿里云代理商,为您提供一对一专业全面的技术服务,同时新老阿里云会员,均可享受我公司代理商价格,欢迎咨询!
本公司销售:阿里云、腾讯云、百度云、天翼云、金山大米云、金山企业云盘!可签订合同,开具发票。
我有话说: