我们已经准备好了,你呢?

2023我们与您携手共赢,为您的企业形象保驾护航!


喜讯:国内、香港、海外云服务器租用特惠活动,2核/4G/10M仅需31元每月,点击抢购>>>

点击这里点击这里进入阿里云ECS官方页面,立即免费体验云服务器ECS>>>

点击这里阿里云老客户点击这里申请VIP账号,享终身8折优惠(续费也打折)>>>

使用第三方SSH客户端登录Linux实例时,提示“Access denied”错误怎么办?

本文介绍使用第三方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.

问题原因

该问题通常是由于ECS实例内SSH远程登录配置文件(/etc/ssh/sshd_config)中启用了用户登录控制参数,对可登录用户进行限制所致,用户登录控制参数说明如下。

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

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

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

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

拒绝策略优先级高于允许策略,具体说明如下。

  • 如果AllowUsers和DenyUsers参数包含了同一个用户,因拒绝策略优先,所以该用户无法登录。

  • 如果AllowUsers中的用户在DenyGroups用户组中,因拒绝策略优先,所以该用户无法登录。

解决方案

您可以修改SSH远程登录配置文件(/etc/ssh/sshd_config)中用户登录控制参数,以解决该问题。

  1. 以VNC方式登录ECS实例。

    具体操作,请参见通过密码认证登录Linux实例。

  2. 执行如下命令,查看sshd_config文件。

    cat /etc/ssh/sshd_config

    系统显示类似如下,表示拒绝test用户登录。

    AllowUsers root testDenyUsers testDenyGroups testAllowGroups root
  3. 修改用户登录控制参数。

    1. 打开SSH配置文件。

      vi /etc/ssh/sshd_config
    2. 根据业务需要,修改用户登录控制参数。

      如下所示,在策略配置前添加#,取消用户访问控制,以确保相关用户能够正常登录。

      #AllowUsers root test
      #DenyUsers test
      #DenyGroups test
      #AllowGroups root
    3. 按Esc键,输入:wq保存修改。

  4. 执行如下命令,重启SSH服务。

    systemctl restart sshd.service
  5. 重新登录Linux实例,确保可以正常登录。




推荐:TOP云智能建站优惠活动,仅880元即可搭建一个后台管理五端合一的智能网站(PC网站、手机网站、百度智能小程序、微信小程序、支付宝小程序),独享百度搜索SEO优势资源,让你的网站不仅有颜值有排面,更有排名,可以实实在在为您带来效益,请点击进入TOP云智能建站>>>,或咨询在线客服了解详情。


我们已经准备好了,你呢?

2023我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

131-3501-0006

上班时间

周一到周五

公司电话

130-0743-9476

二维码
线