如何禁用非 root 用户通过 ssh 进行的远程访问?如果可能的话,我想按需执行此操作。
答案1
每个人都在用困难的方式做这件事..他说拒绝所有非 root 用户..所以只需编辑
/etc/ssh/sshd_config
添加以下内容
AllowGroups wheel root
然后重启ssh
wheel 或 root 组中的任何人都可以通过 ssh 进入
答案2
有几种可能性:
/bin/false
作为 /etc/passwd 中普通用户的登录 shellAllowUsers
在 /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 和控制台登录执行此操作)