PuTTY配合SSH服务器飞跃防火墙

来源:西瓜博客

飞跃"伟大防火长城"的办法很多,但是我终于发现目前最稳定、在现有条件下也最为安全的翻墙方法――利用虚拟主机的SSH服务器,建构本地到虚拟主机的"通道"(tunnel),实现加密翻墙。

在往下看本教程之前,本人先声明一点: 这里只是讨论纯粹的技术问题,不得利用本文中的知识,从事违反宪法的活动。

实现ssh翻墙的条件:

  1. 一个运行SSH服务器的主机(可以是国外付费的虚拟主机)
  2. PuTTY这个著名的ssh客户端

原理:

在本地端口(比如7070)和远程主机之间建立一个加密的通道。实现从本地端口到远程的端口的加密通信。资料由远程主机取回,并通过这个通道传给本地。

具体步骤:

  • 先确保在你的虚拟主机的C-Panel上启用了SSH服务,并且记下用户名和登陆密码
  • 用PuTTY创建链接,输入远程主机的地址。如下图

  • 创建要传递的端口。在PuTTY中的SSH选项下,添加要传递的端口号(如7070),并点击Auto(自动)和Dynamic(动态)。如图:

  • 通过PuTTY链接到远程主机,输入密码。这时,加密通道已经建立
  • 在Firefox的"网络链接"选项中,指定本地回送地址127.0.0.1和端口7070为代理。如图

这时,用Firefox访问网络,查看自己的IP地址,发现自己已经到了墙外面 :-) 如果要加密其它程序的通信,只需要制定同样的代理服务器信息便可。

  • 为了防止所访问网站的DNS被窥探,可以在Firefox的地址栏中输入about:config network.proxy.socks_remote_dns 改为true

Linux下也可以用

ssh -D 7070 <远程主机地址>

来建立通道,然后配置Firefox便可。

我已经成功试验通过以上步骤。感谢原创作者

如果使用Firefox,而又没有国外的虚拟SSH服务器,可以考虑使用Foxyproxy来实现翻墙。简便易用。

其它你可能需要的信息:

  • 每次在PuTTY中输入一长串密码很麻烦,可以考虑用用ssh密码文件对自动认证
  • 在Linux下面,自动认证的方法见这里
  • 这篇文章就是通过ssh加密链接发布的
  • 如果有国外好的支持ssh的虚拟主机,不要忘了告诉我 ~~

没有评论: