将SSH限制为一个接口


10

如何将传入的SSH连接请求限制为仅一个接口?我正在使用Ubuntu Server 10.04 LST。

我想将对SSH的访问权限仅锁定在一个接口上,因为我将服务器用作家庭网络的网关。一个接口连接到DSL调制解调器/路由器,另一个接口连接到家庭网络。我只想允许访问家庭网络中的SSH表单。

在这种情况下,将SSH限制为一个IP是否足够?还是我必须将其锁定在一个界面上?


1
通过“仅一个接口”的含义可以更清楚吗?您是说机器具有多个IP地址,而您只希望SSH侦听一个IP地址吗?还是您要丢弃到其他接口的SSH端口的入站数据包?(您的请求非常不寻常,很可能您会问错问题。)
David Schwartz

@DavidSchwartz我要求接口限制,因为我不确定将SSH访问限制为仅一个IP是否足够。我还用更多细节补充了我的问题。
wowpatrick'1

Answers:


12

在以下文件中:

 /etc/ssh/sshd_config 

您会看到类似以下的行:

#ListenAddress 0.0.0.0

这已被注释掉,但它是默认设置,以列出ssh​​请求的所有IP地址。您可以更改它,使其成为您要接受连接的接口的IP地址,只有该IP地址将接受ssh连接:

ListenAddress 111.222.111.222

更改后,重新启动sshd服务。


4
这不会限制SSH可以在其上操作的接口,而仅限制目标IP地址。(这可能是OP真正想要的。但这不是OP所要的。)
David Schwartz

@DavidSchwartz谢谢-您能澄清一下吗?如果将IP地址绑定到某个接口,则另一个接口可以某种方式接受此设置的连接(我想如果启用了转发功能,则可能会起作用)。
Paul

@DavidSchwartz啊,我在上面看到您的评论。
Paul

1
转发仅指在一个接口上接收到的,必须由另一接口发送的数据包。除了目标地址分配给该接口的接口外,不需要接受在接口上接收到的数据包。Linux使用IP地址属于系统而不属于接口的模型-所有接口都连接单个主机。
David Schwartz 2012年

2

尝试安装防火墙,并且仅在一个接口上允许SSH。我的偏好是Shorewall,它是Ubuntu上的可安装软件包。您需要先对其进行配置,然后才能对其进行详细说明并附带一些示例配置。

我使用的是封闭的防火墙,只打开了所需的端口。如果您只想限制接口允许使用SSH,则可以对其他接口上的ssh使用REJECT或DROP操作。我建议如果您要构建防火墙,则至少要限制面向Internet的接口的访问。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.