海外服务器能ping通但是SSH无法连接问题

最常见的就是vultr、搬瓦工了,好多人遇到这个问题了。

首先你要确定你的用户名(一般是root)、密码、端口(一般是22)没有填写错误。去掉这个原因。还需要进一步的排查。还是不行就是你的服务器端口 TCP 包已经被阻断,俗称服务器被墙。

端口排查

国内排查

本地测试

默认windows没有安装telnet。安装后可以使用cmd输入telnet命令测试。例如

telnet ip地址 22

网络测试

找个有扫描端口功能的网站就行了。(部分网站可能会收集ip地址,重要服务器请避免暴露ip)使用网站扫描一下22端口是否开放。

国外排查

使用 https://www.yougetsignal.com/tools/open-ports 扫描一下22端口。

结论

如果国内检查22端口关闭,国外开放。应该是被封了。
如果都关闭。需要检查一下服务器的配置问题。


阻断方式

ICMP阻断

ping 走的是 ICMP,能ping通说明ICMP没有被阻断。

TCP阻断

SSH 走的是 TCP,IP 能 ping 通但 SSH 连接不上是因为 ICMP 报文是放行的,但是 TCP 报文都被拦截了,所以在你检测 IP 时,表面上 IP 正常能 ping 通,但是端口 TCP 已经被墙。


解决方式

更改端口

实际测试没有作用。

更换服务器IP段

拿vultr来说,销毁重新选取一个不同的ip段即可。一般来说,封ip大都是封一段。随便举例,45.38这个开头的ip段。当你重新创建一个还是这个开头的。很大程度也是被封的。

最后修改:2019 年 01 月 27 日 02 : 49 PM
生活需要一些仪式感,比如手冲一杯咖啡:)

2 条评论

  1. Zion9G7

    之前用Vultr很多88端口跟25565这些端口都是开放的,最近为什么全是22端口开放,而且能ping通,但是ssh就是连不上?

  2. 周星星

    45.38阵亡用户路过看看

发表评论