使用SSH命令登录Linux实例时出现“User root not allowed because not...

[复制链接]
查看: 368|回复: 0

16

主题

16

帖子

64

积分

注册会员

Rank: 2

积分
64
发表于 2019-9-22 14:28:37 | 显示全部楼层 |阅读模式
使用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”用户组中,则拒绝策略优先,所以最终该用户还是无法登录。

解决方案

本文相关Linux配置及说明已在CentOS 6.5 64位操作系统中进行过测试。其它操作系统版本配置可能有所差异,具体情况请参阅相应操作系统官方文档。

  • 登录Linux实例。
  • 执行如下命令,查看sshd_config文件。
    1. cat /etc/ssh/sshd_config
    复制代码
    系统显示类型如下,确认包含如下配置。
    1. AllowUsers root test
    2. DenyUsers test
    3. DenyGroups test
    4. AllowGroups root
    复制代码

  • 由于需要修改相关策略配置,建议先进行文件备份。
  • 使用vi等编辑器,删除策略配置,也可以注释策略配置,如下所示,在策略配置前添加 #。完全取消用户访问控制,以确保相关用户能够正常登录。
    1. #AllowUsers root test
    2. #DenyUsers test
    3. #DenyGroups test
    4. #AllowGroups root
    复制代码

  • 执行如下命令,重启SSH服务使配置生效。
    1. service sshd restart
    复制代码


腾讯云
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩图文



在线客服(工作时间:9:00-22:00)
400-600-6565

内容导航

微信客服

Copyright   ©2015-2019  云服务器社区  Powered by©Discuz!  技术支持:尊托网络     ( 湘ICP备15009499号-1 )