Ubuntu 16.04:SSH 服务器本地连接,但拒绝远程连接

Ubuntu 16.04:SSH 服务器本地连接,但拒绝远程连接

我一直在为全新的 Ubuntu 安装设置 SSH 服务器。但是,该服务器仅接受来自本地网络的连接。如果我尝试通过公共 IP 地址连接到它,我会得到:

ssh: connect to host XXX.XXX.XXX.XXX port 31415: Connection refused

我已经转发了必要的端口,并允许它通过防火墙。我可以 ping 通 IP,并且端口检查器似乎检测到了服务器,这让我相信这不是端口转发问题。

防火墙规则:

31415/tcp                  ALLOW       Anywhere
31415/tcp (v6)             ALLOW       Anywhere (v6)

Netstat 输出:

...
tcp        0      0 0.0.0.0:31415           0.0.0.0:*               LISTEN      -
tcp        0    400 10.0.0.30:31415         10.0.0.18:16669         ESTABLISHED -
...

sshd_配置:

...
# What ports, IPs and protocols we listen for
Port 31415
#Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
...

是我的网络接口出了问题吗?是否有强制仅本地连接的设置?我该如何强制它接受远程 IP 以及本地 IP?

答案1

根据以上讨论回答。对于某些路由器,本地环回对于 TCP 和 ICMP 数据包的处理方式不同。因此,路由器将响应 WAN 地址上的 ping,但不允许本地网络用户连接到 WAN 端的端口转发。

为了测试该理论,应该使用 nmap 检查端口是否打开,或者应该从远程地址尝试连接。

nmap -p 31415 -Pn your_internet_ip

或者

http://canyouseeme.org并从那里进行检查(这是 OP 所做的)。

相关内容