`

利用PuTTY+SSH端口转发实现加密代理上网

阅读更多

原理是:浏览器首先通过加密通道 链接到一台外网的服务器上;而后通过这台服务器再访问整个互联网。一言以蔽之曰:绕墙访问。

条件:这一台外网服务器必须有ssh登录权限。

 

具体步骤:

 

1、点击这里 下载PuTTY。

2、配置PuTTY:Connection->SSH->Tunnels

在Putty的登录设置中配置tunnel,目标设置为Dynamic,添加一个端口7070,点击Add,一个动态转发端口就实现了。

 

然后用相应帐号SHH登录后:除了登录的终端窗口以外,本地的7070连服务器的22端口之间就有了一个SSH加密的转发通道了。

3、如果使用Firefox 浏览器,可以下载这个插件 ,设置socks代理通过本地的127.0.0.1:7070 进行传输。或者如下设置:工具--高级--网络--点击设置按钮--选择使用代理并输入socket代理服务器地址和端口即可。

4、如果使用IE或者其他IE内核的浏览器,则在“工具-Internet选项-连接”中设置代理。注意:ip为127.0.0.1,端口为 7070。如下图:

 

 

用这种方式比较麻烦,putty自带的plink可以省掉不少步骤。plink包含在putty包中,附件中有完整版本下载
为plink.exe新建一个一个快捷方式,然后加入以下参数:
plink.exe -v -C -N -D 127.0.0.1:7000 -l root -P xx 98.143.xxx.xxx
格式翻译过来就是:
plink.exe -显示详细信息 -启用数据压缩 -不显示shell -端口动态转发 代理IP:端口 -l 远程主机用户名 -P 远程主机端口 远程主机IP
双击该快捷方式,会显示登录信息,最后停在输入密码的位置,然后输入远程主机的密码,回车,代理就启用了。
如果安全性不重要可以加上一个 -pw 参数以自动输入密码。

 

附:

获得国外 的SSH帐号 或者有Dreamhost虚拟主机的可以增加SHH用户:都可以用类似机制进行加密访问。

更简单方便的setup方式是使用putty的后台命令行程序plink plink –N username@remote.ssh.server -D 127.0.0.1:7070
其中 -N 表示不需要shell
username@remote.ssh.server 换成你SHH帐户名和主机域名或者地址
或者替换成 -load sessionname 也可以,用dreamhost上的帐号试了一下,真的很快

如何在Windows下使用密钥方式登录Linux服务器:

如果设置需要基于密钥的登录(如果不设置密钥密码,就可以自动登录了),
我没有试成使用puttygen生成的密钥(公钥/私钥)直接部署在Linux服务器上。目前成功的方法是:先在服务器上用服务器上用./ssh- keygen生成密钥对,将公钥 id_rsa.pub >> 部署到要登录到的服务器上:/home/username/.ssh/authorized_keys 中,密钥在Windows客户端下使用:将密钥 id_rsa下载到本地,然后用puttygen导入id_rsa 另存转换为putty格式的密钥id_rsa.ppk即可。然后使用 plink -i c:pathtoid_rsa.ppk username@example.com方式登录。

注意:

加密通道和网站是否提供https没有直接的关系,https是指服务商直接向客户提供的加密,例如:GMail: https://mail.google.com/mail/ , GReader: https://www.google .com/reader/view/,从ssh server到服务网站之间仍然是明文的http传输;

加密通道和匿名不匿名访问网站也没有直接关系。

参考文献:

http://thinkhole.org/wp/2006/05/10/howto-secure-firefox-and-im-with-putty/

http://hi.baidu.com/linjingmin/blog/item/d4e2b04544d9392ccffca3c5.html

  • 大小: 51.2 KB
  • 大小: 90.5 KB
  • 大小: 99 KB
  • portaputty.zip (1019.6 KB)
  • 描述: Putty代理完整版本,含plink.exe
  • 下载次数: 64
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics