如何允许在特定 IP 范围内通过 SSH 直接进行 root 访问?

如何允许在特定 IP 范围内通过 SSH 直接进行 root 访问?
  1. 我想在家时直接通过 ssh 登录 root (192.168.1.0/24)。

  2. 但在外面(例如在工作时),我仍然可以使用我创建的自定义帐户之一通过 ssh 登录。

我刚刚尝试过:

Match Address 192.168.1.0/24
        PermitRootLogin yes

现在我完全被锁在盒子之外了。我在工作时和在家时都无法登录(我通过 sshed 进入了另一个 FreeBSD 盒子)。

关于如何做到这一点有什么想法吗?谢谢

答案1

查看AUTHORIZED_KEYS 文件格式sshd 手册页的部分。然后添加如下内容~root/.ssh/authorized_keys(其中该ssh-ed25519 ...部分被您的 ssh 公钥替换):

from="192.168.1.0/24" ssh-ed25519 AA...

那么该密钥将只允许来自您的特定网络。

另外,请确保 sshd_config 中有以下内容:

PermitRootLogin prohibit-password

答案2

您所做的配置更改意味着“允许来自 192.168.1.0/24 的 root,拒绝其他所有内容”。换句话说,只有符合条件的人才允许访问。

你可以试试这个:

AllowUsers [email protected].? anotheruser1 anotheruser2

这意味着 root 来自 192.168.1.0/24,另外两个用户来自任何地方。

相关内容