利用ssh tunnel翻墙

来源:http://neverblog.org/web/gross-gfw-by-ssh-tunnel/

GFW之前翻墙一直用的TOR,直到TOR的新版本出现问题一直无法连上,才逼迫自己去寻找另一种翻墙方法。

其实利用ssh tunnel来翻墙对于我来说真是水到渠成的事情,因为我的hawkhost帐号是开通ssh了的!只怪自己凹凸鸟,每个月的流量都白白浪费了。

何为ssh tunnel?

ssh是secure shell的意思,通俗点来讲,就是一种安全的连接方式。一旦两台电脑通过ssh进行了连接,其间传输的资料都是加密的,GFW只知道有数据经过,但并不 知道是什么。这样就好像在两台电脑之间建立了一条加密的通道,数据通过那条秘密通道来传送,ssh tunnel也因此得名。

ssh tunnel翻墙的原理

我们现在处于墙内,但并不是完全被囚禁,我们还是可以访问一些"健康"的网站,只是某些网站被墙了。只要与某台在墙外的主机建立一条ssh tunnel,通过墙外的那台机器代替你访问被墙掉的网站,再通过ssh tunnel把数据传回给你就可以了。

说得通俗一点,把你自己想像成一个囚犯,你处在高墙里,所接收到的外界信息都是经过过滤的。但是你有亲人是自由人,而你也可以接受亲人的探访。于是,你利用探监的机会,通过你的那个自由人的亲人了解一些外界的信息。

所以,被囚禁的你要想获得外界信息需要有三个条件:

  1. 至少有1个亲人或朋友
  2. 你的亲人或朋友得是自由人
  3. 他或她被允许来探视你

具体怎么翻墙

和上面的监狱的例子一样,要通过ssh tunnel翻墙,得具备三个条件:

  1. 有至少一台ssh服务器
  2. 那台ssh服务器得在墙外
  3. 你可以连上它

所以,有博客,而且又是国外空间,而且空间又开通了ssh功能的同学,利用这招就是水到渠成的。哈哈,现在知道国外空间的又一好处了!

让我们来建立ssh tunnel

其实就是建立ssh连接,就是用ssh登录进远程主机。如果用的是GNU/Linux发行版,那直接打开终端

ssh -D port username@domain

port是随意指定的端口号,username是你的ssh登录用户名,domain是ssh服务器地址。

windows用户看一下这篇博文

这样一来,ssh就变成了一个SOCKS server了。在登录进shell后,ssh tunnel就已经建立,只要指定浏览器使用socks 5代理,就可以用此tunnel来访问墙外世界了。

设置代理

翻墙不选AutoProxy,还能选什么?安装这个Firefox插件,默认代理服务器选ssh -D,你就懂了!

测试一下访问Twitter,只要服务器速度够快,那翻墙体验是相当好的!

Happy tunneling!


1 条评论:

yhlfh 说...

原文链接已变更,现在是http://neverbl.org/web/gross-gfw-by-ssh-tunnel/