禁用非root用户的SSH

如何通过SSH禁用非root用户的远程访问? 如果可能的话,我希望按要求做到这一点。

每个人都这样做是困难的..他说拒绝所有非root用户..所以只是编辑

/etc/ssh/sshd_config 

添加以下内容

 AllowGroups wheel root 

然后重新启动ssh

任何人在轮子或根组将被允许ssh进入

几种可能性:

  • /bin/false作为/ etc / passwd中的普通用户的loginshell
  • 在/ etc / ssh / sshd_config中只添加root到AllowUsers

也可以使用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

如果您今后决定这样做,也可以通过networking进行限制。

如果你想要它是按需的,标准的方法是使用/etc/nologin (看看man 5 nologin )。

创build这个文件(在里面有一个可选的消息)会拒绝非pipe理员login,而是显示消息。 删除文件将允许login回来。

它可以应用于ssh,本地login,以及其他任何使用PAM的应用程序; 只要确保该服务的PAMconfiguration需要pam_nologin.so 。 (它在很多发行版上默认使用ssh和consolelogin)