一、机房搬迁
我将端口更改后当天晚上在用SSH代理翻墙的时候就发现MyEnTunnel不断掉线,用Putty登录再度告知失败,明白GFW将新端口也封杀掉了,立即用Lish登录Linode VPS更改新的端口,依然无效,同时发现VPS的IP无法访问,Ping命令失败,这一下不仅仅是SSH无法登陆的问题,整个网站都无法访问了。
赶紧给Linode的客服发 Ticket,客服让我提供主机到本地的双向MTR的网络诊断报告,五分钟后客服给了一个新的 IP,我更换后重启主机,发现还是 Ping 不通,继续找客服;客服无奈的回复:今晚日本机房大面积出现问题,建议我更换新的机房。
考虑到中日紧张的关系以及 GFW 对 Tokyo 机房越来越严苛的管控,我将机房签到了 Fremont 机房,它位于米国加州,毗邻太平洋,从地理位置上看,无疑是兲朝访问速度最快的机房了,登录域名服务商,更改了域名解析,一切又恢复正常,速度也还差强人意。
逃避不是办法,如果继续 SSH 代理翻墙,很快就会重蹈 Tokyo 机房的覆辙,于是我还是乖乖的让 22 不要跑其他流量了,于是又开始寻找其他翻墙的方法。
二、临时翻墙工具Goagent
如果说目前还有什么较完美的免费翻墙工具,个人认为Goagent应该算是了,网站地址如下:
里面有详细的安装和使用说明,按图索骥,整个过程还是十分简单的。
经过测试,速度和SSH不相上下,也可以使用我在《目前最稳定的翻墙组合chome+Myentunnel+Switchysharp》中使用浏览器插件组合,通过名单机制有效的提高浏览效率,也推荐给各位朋友。
但Goagent在翻越公司防火墙的时候却表现出来了苍白无力,部分网页无论如何更改设置都无法正常浏览。
我又想起了SSH代理,正好此时一位朋友留言建议我使用Obfuscated-openssh方式登录SSH,否则就是逃到大洋彼岸也会被再次封杀,于是我又开始了漫漫翻墙路
三、GFW对SSH代理封杀的原理
要使用新的方法,首先要弄清楚为何高度加密的SSH链接方式为何还会被GFW封杀呢?下面应该解释的比较清楚:
(图片来源:http://www.goleng.com/?p=665)
很明显,要躲避GFW对SSH协议的封杀,最重要的是对客户端和服务器端进行handshake握手的过程进行加密,使得GFW无法甄别SSH协议连接来达到翻墙的目的。
既然弄清了封杀的原理,就很好理解Obfuscated-openssh工作的机制了,下面我们就来看一下如何在虚拟主机上配置 SSH 的混淆加密,详见《用Obfuscated-OpenSSH解决SSH代理屏蔽的问题(中》。
参考文章