仅允许选定的地址连接到 openssh

仅允许选定的地址连接到 openssh

我需要将到 openssh 服务器的连接限制为仅三个或四个 IP 地址。我知道我可以在 CentOS 7 和 Oracle Linux 机器上使用防火墙或 TCP 包装器。但是,网络上的某些服务器不支持防火墙,或者其 openssh 版本不包含 libwrap.so。这些需要 ssh 解决方案。

我尝试过类似的不同变化,但到目前为止,我要么被完全锁定,要么任何人都可以进入。

Match Address !10.222.79.74,!10.222.79.75,!172.23.10.22,!10.217.184.58
  DenyUsers *@*
DenyUsers *@*

Match Address 10.222.79.74,10.222.79.75,172.23.10.22,10.217.184.58
  AllowUsers *@*

有没有办法做到这一点?

好的,我正式成为一名 DA。

我将日志级别设置为调试,通过查看最近的登录,我意识到我正在从允许列表中的某个 IP 进行测试。我从另一个客户端尝试了该操作,以下操作按预期工作。

Match Host *,!10.222.79.74,!10.222.79.75,!172.23.10.22,!10.217.184.58
  DenyUsers *

很抱歉浪费了您的时间。

答案1

根据 sshd_config 手册页(OpenSSH_8.0p1):

对于每个关键字,将使用第一个获得的值。

所以我猜第一个例子看起来是正确的。

请注意:我强烈感觉到这个最近发生了变化(从要使用的最后一个值开始),因此请检查您的手册页。而且(正如我刚刚检查的那样)它看起来不像按描述的那样工作,所以您可能需要进行实验。

相关内容