如何从我的网络外部的服务器启用 SSH 访问?

如何从我的网络外部的服务器启用 SSH 访问?

我的本地网络中有一台计算机 A(CentOS 7),在本地网络之外托管一个网站 B。我需要启用从 B 到 A 的 SSH 访问(我打算使用 phpseclib 在它们之间传输文件)。我为 A 配置了一个静态 IP 地址 192.168.0.201。

我尝试使用我的路由器配置界面将 A 变成虚拟服务器,如下所示:虚拟服务器配置我的目的是当我通过 SSH 连接到我的公共 IP 地址和一个特定端口时,重定向到计算机 A。

然后我尝试使用本地网络上另一台 PC 上的 PuTTy 使用我的公共 IP 地址和端口 21 连接到 A,但超时了。我不确定协议和端口,所以我还尝试将虚拟服务器服务类型配置为 SSH 和端口 22,但再次超时。

我错过了什么?

答案1

首先,您需要的端口是 22,因为这是 SSH 的端口,而且您似乎正确配置了路由器。端口 21 是默认的 FTP 协议端口。

然后,我会检查你的 centos 服务器 iptables 状态,因为默认情况下它是打开的并阻止所有传入连接。

只是为了测试,我会关闭服务并尝试重新连接。

你可以通过运行以下命令来实现:

systemctl stop iptables

如果您发现现在可以从外部连接,则重新启动 iptables 并设置一条规则来打开端口 22,具体如下:

iptables -A INPUT -i NIC_NAME -p tcp —dport 22 -j ACCEPT 

相关内容