为什么 ssh 连接在完整正确设置后仍会失败?

为什么 ssh 连接在完整正确设置后仍会失败?

使用 Ubuntu Server 14.04,我在端口 2222 上运行了 ssh 服务器(他们在构建时就是这样要求的)。我已经检查了整个设置,但似乎没有什么问题。

设置如下:

  • 在大楼里,他们将端口 2222 上的 TCP 连接重定向到我的 IP。
  • 80端口同样如此,我可以访问。
  • 当我尝试通过 SSH 连接端口 2222 时,我可以使用以下命令查看传入的网络活动iftop
  • 我有ufw按照适当的规则运行:

    2222/TCP ALLOW Anywhere

  • sshd.conf我得到的文件:

  • 我让 ssh 服务器监听 2222 端口。

  • 我将 ssh 服务器设置为日志模式,但是尝试连接时却AUTH看不到任何内容。/var/log/auth.log
  • 这是我的 sshd.conf 文件
  • 是的,ssh 守护进程正在运行并且已重新启动。

因此,每当我尝试连接时,我都会收到如下消息:

ssh: connect to host <publicbuildingip> port 2222: Connection refused

以详细模式运行客户端输出:

debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to <publicip> [<publicip>] port 2222.
debug1: connect to address <publicip> port 2222: Connection refused
ssh: connect to host <publicip> port 2222: Connection refused

如果我尝试从同一网络的主机登录,也会发生同样的情况。

跑步netstat在服务器上类似sudo netstat -tulpn | grep ssh输出:

tcp    0    0 127.0.0.1:2222    0.0.0.0:*    LISTEN    969/sshd

跑步nmap针对外网的公网IP输出:

Host is up (0.051s latency).
Not shown: 996 filtered ports
PORT     STATE  SERVICE
21/tcp   closed ftp
80/tcp   open   http
2222/tcp closed unknown
8080/tcp closed http-proxy

Nmap done: 1 IP address (1 host up) scanned in 5.31 seconds

尝试telnet <publicip>2222

输出:

telnet: Unable to connect to remote host: Connection refused

如果尝试使用建筑物内的网络 IP,结果也是相同的。

但是在服务器上运行的 iftop 显示尝试登录时实际上存在网络活动。

跑步tcpdump在服务器上类似:tcpdump -vniay port 2222 -i eth0将在登录尝试时输出以下内容:

15:53:36.812402 IP (tos 0x0, ttl 64, id 56954, offset 0, flags [DF], proto TCP (6), length 60)
  192.168.1.86.39822 > 192.168.1.90.2222: Flags [S], cksum 0xa1b8 (correct), seq 3966921350, win 292000, options [mss 1460,sackOK,TS val 308476 ecr 0,nop,wscale 7], lenght 0

可能是什么故障了?

答案1

根据该netstat输出,以及您的sshd配置文件(尤其是这行)您的 SSH 守护进程正在监听仅限本地的 IP 地址(127.0.0.1),而不是实际与您的 LAN 进行通信或通过网络上的路由器/网关设备进行出站通信的 IP。

验证您的sshd_config设置中是否有一行ListenAddress与您的 LAN 相关的内容,例如分配给服务器的私有 LAN IP 地址。如果没有,请在端口指令后添加它,语法如ListenAddress 0.0.0.0ListenAddress ::,将这些项替换为实际的 IPv4 或 IPv6 地址。

请记住,绑定到 127.0.0.0/8 中的任何 IP 地址都只会到达本地计算机本身,而不是任何可以实际路由到您的 LAN/本地网络/任何其他地方的地址。

相关内容