对非 root 用户禁用 SSH

对非 root 用户禁用 SSH

如何禁用非 root 用户通过 ssh 进行的远程访问?如果可能的话,我想按需执行此操作。

答案1

每个人都在用困难的方式做这件事..他说拒绝所有非 root 用户..所以只需编辑

/etc/ssh/sshd_config

添加以下内容

AllowGroups wheel root

然后重启ssh

wheel 或 root 组中的任何人都可以通过 ssh 进入

答案2

有几种可能性:

  • /bin/false作为 /etc/passwd 中普通用户的登录 shell
  • AllowUsers在 /etc/ssh/sshd_config 中仅添加 root

答案3

也可以使用 PAM: cp /etc/security/access.conf /etc/security/sshd.conf
echo "+ : root : ALL" >> /etc/security/sshd.conf
echo "- : ALL : ALL" >> /etc/security/sshd.conf

然后修改/etc/pam.d/sshd,在其他账户后面添加以下行:
account required pam_access.so accessfile=/etc/security/sshd.conf

如果您将来决定这样做,这还将允许您通过网络进行限制。

答案4

如果您希望它是按需的,标准方法是使用/etc/nologin(查看man 5 nologin)。

创建此文件(其中包含可选消息)将拒绝非管理员登录并显示消息;删除该文件将允许重新登录。

它可以应用于 ssh、本地登录和使用 PAM 的任何其他内容;只需确保服务的 PAM 配置需要pam_nologin.so。(在许多发行版中,它默认对 ssh 和控制台登录执行此操作)

相关内容