阻止除一个用户之外的所有用户的 SSH 访问

阻止除一个用户之外的所有用户的 SSH 访问

我目前可以通过 ssh 以 root 身份登录我的服务器。但是,可能还有其他一些用户具有 ssh 访问权限。我想阻止除 root 之外的任何可能的登录。我该怎么做?

谢谢。

答案1

因此,您可以使用 sshd_config 文件中的 AllowUsers 指令实现您所声明的愿望,例如:

$ grep AllowUsers /etc/ssh/sshd_config
AllowUsers root

但是,我会对使用 root 帐户进行 ssh 持谨慎态度 - 考虑使用非特权帐户进行正常使用,仅在需要时使用 sudo 之类的命令来获取 root 权限。

答案2

sshd_config 命令

 AllowUsers
         This keyword can be followed by a list of user name patterns, separated
         by spaces.  If specified, login is allowed only for user names that match
         one of the patterns.  Only user names are valid; a numerical user ID is
         not recognized.  By default, login is allowed for all users.  If the pat‐
         tern takes the form USER@HOST then USER and HOST are separately checked,
         restricting logins to particular users from particular hosts.  The
         allow/deny directives are processed in the following order: DenyUsers,
         AllowUsers, DenyGroups, and finally AllowGroups.

         See PATTERNS in ssh_config(5) for more information on patterns.

顺便说一句,请不要允许您的 root 用户使用密码登录。仅允许 ssh 密钥,或者更好的是,仅允许特定用户登录并更改为 root,但不允许直接使用 root。

答案3

当我需要维护我的 Linux 主机时,我会锁定除 root 之外的所有用户。完成后只需删除该文件即可。

echo "System maintenance in progress" > /run/nologin

相关内容