我目前可以通过 ssh 以 root 身份登录我的服务器。但是,可能还有其他一些用户具有 ssh 访问权限。我想阻止除 root 之外的任何可能的登录。我该怎么做?
谢谢。
答案1
因此,您可以使用 sshd_config 文件中的 AllowUsers 指令实现您所声明的愿望,例如:
$ grep AllowUsers /etc/ssh/sshd_config
AllowUsers root
但是,我会对使用 root 帐户进行 ssh 持谨慎态度 - 考虑使用非特权帐户进行正常使用,仅在需要时使用 sudo 之类的命令来获取 root 权限。
答案2
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