回国一个月,受尽了 GFW 的折磨,装了个 Gladder 聊以度日,但限制也很多,比如担心自己的隐私安全,下载不方便,速度缓慢等等,更坏的消息是澳洲也要开始搞网络过滤了,所以得未雨绸缪设置一个 SSH Tunnel。
在虚拟主机端的配置
刚买的 Hostmonster 虚拟主机就派上了用场,默认情况下 SSH Access 是不开启的,于是跟在线客服联系,让他开通 SSH 支持,并把护照复印件或其它有效证件发给他,然后 SSH 就激活了。
在 Hostmonster 的 cPanel 中导入自己的公钥,到本地电脑把私钥存在 ~/.ssh/id_rsa 中,就可以实现无密码登录了。
对于一般的 sshd 公钥登陆配置是在 /etc/ssh/sshd_config 中添加
AuthorizedKeysFile %h/.ssh/authorized_keys
然后在 ~/.ssh/authorized_keys 中添加公钥,Hostmonster 是自动处理了。
本地设置
本地要做两件事,建立 SSH Tunnel 通道和设置浏览器使用 SOCKS v5 代理。
Windows 系统
如果是用 putty,用如下命令即可建立 ssh tunnel:
plink -N -D 8080 -l dongsheng -pw thepassword -v dongsheng.org
然后在火狐或者 IE 中设置 SOCKS v5 代理为 127.0.0.1:8080。
Windows 上最简单的办法是使用 MyEnTunnel,直接在图形界面中添上 ssh 服务器地址,用户名密码,然后点连接就轻松创建了 ssh tunnel。
对于 Firefox 来说有不少很棒的代理扩展,我觉得最棒的是 AutoProxy,它维护了一个黑名单列表(对GFW来说是黑名单),只有在列表里的网站才会使用代理访问,一般的网站都是直接访问。
还要有注意的一点是在 Firefox 的 about:config 里要把 network.proxy.socks_remote_dns 设置为 true,不然会遭遇 DNS 劫持。
Linux
在终端里输入:
ssh -N -D 8080 -l dongsheng dongsheng.org # -v 可以输出更多连接信息 #ssh -N -v -D 8080 -l dongsheng dongsheng.org
这就建立了一个本地 SOCKS v5 代理,在火狐中设置 SOCKS v5 类代理为 127.0.0.1:8080 就可以使用了。
- -N 是禁止执行远程命令
- -v 是输出调试信息,用于测试结果
- -D 设置转发端口
- -l 是自己的登录名
补充:
- 在远程主机上运行一个命令并退出:
plink -l root -pw thepassword -v dongsheng.org "/etc/rc.d/fastcgi restart"