SSH 拒绝允许特定用户直接通过 ssh 登录

SSH 拒绝允许特定用户直接通过 ssh 登录

我在一台主机上有一个特定的用户(让我们user在整篇文章中称呼他们),当尝试通过公钥认证进行 ssh 时显示以下错误:

PTY allocation request failed on channel 0
Direct login access is disallowed

我可以通过使用来缓解第一个错误ssh user@host "/bin/bash -i",但无法解决第二个错误。

我尝试过的事情:

  • 我可以sudo -s(或者sudo -i直接以主机上的 root 用户身份)
  • 用户被锁定(passwd -l user),我已解锁并为该用户分配密码。同样的问题。但是,su - user在帐户解锁并应用密码后,我可以像任何其他用户一样操作。
  • 我检查了/etc/ssh/sshd_config服务器,没有AllowUsersAllowGroupsDenyUsers、的条目DenyGroups
  • 我能够以 root 身份直接进行 ssh,没有问题。
  • 我创建了一个新用户,并且能够直接 ssh 连接到他们。
  • 确认 ssh 密钥选择和 authorized_keys 设置正确,但是我不认为这是一个关键问题。
  • /etc/passwd显示用户已/bin/bash为他们的 shell 设置。
  • /etc/security/access.conf已完全注释掉且未设置任何设置。
  • 多次重启 sshd。
  • 没有/etc/login.blocks文件。
  • /var/log/secure,,/var/log/messagesjournalctl -fu sshd只显示Session open然后Session closed for user user
  • ssh user@host -vvvvvvv只是显示了Direct login access is disallowed
  • 重新启动了主机。

注意:这是一个尚未启用订阅的 rhel 系统。

怎么回事?为什么我无法访问此

答案1

搞清楚了。这是某人编写的一个限制主机访问的脚本。任何人通过 ssh 连接到用户后,该脚本都会运行。

这是在user中实现的~/.ssh/authorized_keys

以下是文件中显示的行:

command="/home/user/script/that/was/causing/problems.sh", ssh-rsa ABC123hugepubliccipher==

删除该command=部分后,用户就可以再次通过 ssh 登录。

相关内容