帮助中心

立即注册 咨询客服

当前位置:首页 > 帮助中心> 如何在不同的端口上允许来自LAN和WAN的SSH连接

如何在不同的端口上允许来自LAN和WAN的SSH连接

发布时间:2019年11月04日 09:13:57    来源: A5互联

假设您企业内部LAN上的用户需要通过SSH连接到服务器,但是外部WAN上的用户也需要这样做。您只是在端口22上打开SSH并完成此操作吗?还是担心在外网开放22端口会引发攻击?

如果您想为内网LAN打开端口22,为外网WAN打开端口2222,应该如何操作?

为了实现这一功能,您需要一个能够接受SSH连接并能够操作流量的服务器。我将在一个使用简单防火墙(UFW)的Ubuntu服务器18.04实例上进行演示。如果您使用的服务器不使用UFW,则必须根据Linux发行版上使用的工具修改防火墙规则。另外,如果您有一个网络安全设备来控制来自LAN和/或WAN的流量,那么您也必须在那里进行调整,具体如何进行调整将取决于使用的平台。

运行SSH的计算机还需要具有两个网卡,一个配置为LAN使用,另一个配置为WAN使用。为了举例说明,我们将其称为ens5(LAN)和enp1s0(WAN)。

如何配置SSH

首先要做的是SSH的配置。这实际上很简单。使用以下命令打开必要的配置文件:

sudo nano /etc/ssh/sshd_config

在该文件(图A)中,取消注释Port 22行并添加Port 2222行。

进行这些更改后,保存并关闭文件。

使用以下命令重新启动SSH:

sudo systemctl restart ssh

在继续之前,请确保可以同时使用两个端口SSH进入服务器。要使用端口22连接,请发出命令:

ssh USER@SERVER_IP

其中USER是远程用户名,而SERVER_IP是服务器的IP地址。

应该允许您进入。一旦成功,请关闭该连接并使用以下命令测试2222端口:

ssh USER@SERVER_IP -p 2222

其中USER是远程用户名,而SERVER_IP是服务器的IP地址。

同样,应该授予您访问服务器的权限。

如何配置防火墙

现在,我们必须将防火墙配置为允许WAN的SSH连接,但仅允许其连接到端口2222。我们可以使用以下命令进行此操作。

首先,我们使用以下命令在WAN接口上阻塞端口22:

sudo ufw deny in on enp1s0 to any port 22

接下来,使用以下命令在WAN接口上允许端口2222:

sudo ufw allow in on enp1s0 to any port 2222

一旦有了这两个规则,就测试来自LAN和WAN的连接,并确保在WAN端连接上使用端口2222。您应该可以顺利进入。如果您发现这不起作用,请确保使用以下命令启用UFW:

sudo ufw enable

这是指定可以建立什么SSH连接以及从何处建立SSH连接的一种可能方法。尽管这不是确定的,但是由于您使用的网络/安全硬件可能会决定其他必需的措施,因此它应该使您正确地开始。