除 1 个 IP 外,拒绝所有 IP 的 ssh,并允许所有 IP 的 root 用户使用

除 1 个 IP 外,拒绝所有 IP 的 ssh,并允许所有 IP 的 root 用户使用

我可以输入以下代码来拒绝除 1 之外的所有 IP 地址通过 SSH 访问我的服务器:

sshd: all

在 /etc/hosts.deny 中

sshd: x.x.x.x

在 /etc/hosts.allow 中(隐藏 ip)

但我想添加一个例外,允许 root 从任何地方登录。可以这样做吗?

答案1

我找到答案了!

不过在列出这些内容之前,我先回复一下各位年轻人的预先判断评论:

  1. 我并没有尝试创建安全登录。

  2. 我想要强制用户(root 除外)通过具有特定 IP 地址的特定服务器登录到我的设备,该服务器可称为 JUMP SERVER。为什么?因为我正在跟踪他们的命令历史记录,并了解他们登录的内容和时间。为什么不使用 LDAP/RADIUS?因为我的服务器运行在供应商重新配置的操作系统上,不支持该功能。我如何跟踪用户历史记录?我正在创建一个脚本,每次有人 ssh 到我的服务器时,它都会向我发送用户名+登录时间,注销时也是如此。

  3. 以上就是我要做的简短介绍。现在,如果您有任何问题,请随时提出。

答案如下:

vi /etc/security/access.conf

并添加以下内容:

+:root:ALL
+:ALL:x.x.x.x
-:ALL:ALL

考虑到 xxxx 是您希望允许所有用户登录的唯一 IP 地址。

然后 vi /etc/pam.d/sshd 修改以下内容:

account required pam_access.so

相关内容