如何解决SSH登录报错"not allowed because listed in DenyUsers"的问题?

计算操作系统技术服务知识库
运行环境
  • CentOS/RHEL 7
  • CentOS/RHEL 8
问题描述

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

解决方案
  1. 登录控制台,通过VNC进入操作系统
  2. 使用命令打开/etc/ssh/sshd_config,如下所示:
vi /etc/ssh/sshd_config

检查sshd_config 配置文件中是否包含类似如下配置:

AllowUsers root
DenyUsers test
DenyGroups test
AllowGroups root
  1. 删除“AllowUsers”、“DenyUsers”、“DenyGroups”、“AllowGroups”,字段或者在配置项前添加“#”,如下所示:
#AllowUsers root
#DenyUsers test
#DenyGroups test
#AllowGroups root
  1. 使用如下指令,校验ssh配置文件,并重启 SSH 服务使配置生效:
sshd -t
systemctl restart  sshd
问题分析

该问题通常是由于 SSH 服务启用了用户登录控制参数,对可登录用户进行限制所致。 SSH 服务相关参数,可以对登录的用户或用户组进行限制。说明如下:

  • AllowUsers:允许登录的用户白名单,只有该参数标注的用户可以登录。
  • DenyUsers:拒绝登录的用户黑名单,该参数标注的用户都拒绝登录。
  • AllowGroups:允许登录的用户组白名单,只有该参数标注的用户组可以登录。
  • DenyGroups:拒绝登录的用户组黑名单,该参数标注的用户组都拒绝登录。
  • 如果“AllowUsers”和“DenyUsers”参数包含了同一个用户,则拒绝策略优先,所以最终该用户还是无法登录。
  • 如果“AllowUsers”中的用户在“DenyGroups”用户组中,则拒绝策略优先,所以最终该用户还是无法登录。

如果您有其他问题,欢迎您联系火山引擎技术支持服务

0
0
0
0
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论