我确信这个问题已经在其他地方得到解答,但我不确定要搜索什么。(我正在尝试诸如“telnet ubuntu ssh 守护程序无法连接”之类的操作。)
- 我可以通过 SSH 进入
10.0.0.9
- 我可以
telnet 10.0.0.9 22
sudo service ssh status
正在/etc/hosts
并/etc/hostname
匹配。gufw
已关闭。netstat -nat | grep 22
表示0.0.0:*
是LISTEN
并且:::*
是LISTEN
。- 我相信我已经在路由器上正确打开了端口
那么我需要检查的缺失环节是什么,我可能做错了什么?为什么我可以进入却ssh
不能进入?65.x.x.x
ssh
10.x.x.x
任何人若能提供现有回应或更好的搜索词的链接,我将不胜感激。
- 示例输出
tcpdump -n -i ${interface} tcp port ssh or tcpdump -n -i ${interface} host ${external_client_ip_addr}
:
19:20:43.747445 IP 116.10.191.232.24689 > 10.0.0.9.22: Flags [.], ack 1, win 65535, length 0 19:20:43.747562 IP 116.10.191.232.24689 > 10.0.0.9.22: Flags [P.], seq 1:24, ack 1, win 65535, length 23 19:20:43.747575 IP 10.0.0.9.22 > 116.10.191.232.24689: Flags [.], ack 24, win 14600, length 0 19:20:43.759613 IP 10.0.0.9.22 > 116.10.191.232.24689: Flags [P.], seq 1:42, ack 24, win 14600, length 41 19:20:44.504741 IP 116.10.191.232.24689 > 10.0.0.9.22: Flags [P.], seq 24:832, ack 42, win 65494, length 808 19:20:44.504800 IP 10.0.0.9.22 > 116.10.191.232.24689: Flags [P.], seq 42:1026, ack 832, win 16968, length 984
- 示例输出:
ssh -vvv [email protected]
OpenSSH_5.9p1 Debian-5ubuntu1.4, OpenSSL 1.0.1 14 Mar 2012 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to 67.x.x.x [67.x.x.x] port 22. debug1: connect to address 67.x.x.x port 22: No route to host ssh: connect to host 67.x.x.x port 22: No route to host
答案1
您发布的屏幕截图显示“结束端口”为 23。这可能转发了一系列端口,但同样可能的是起始端口和结束端口分别指“外部端口”和“内部端口”,在这种情况下,您遇到了问题。尝试将“结束端口”更改为 22。另外,检查您的/etc/hosts.{allow,deny}
。
答案2
我觉得您的 ISP 封锁了端口 22,可能是因为 Heartbleed,很可能是为了阻止免费的 unix shell 提供商。我建议映射到不同的外部端口,看看是否有区别。