参考原文:http://thinkhole.org/wp/2006/05/10/howto-secure-firefox-and-im-with-putty/
加密传输的机制如下:
/ foo.com
浏览器 <==secure tunnel==>ssh server - bar.com
/ example.com
浏览器先通过加密通道链接到一台服务器上,然后通过这个服务器再访问整个互联网。主要的用途就是这个 绕道访问。具体你需要 通过加密通道绕过谁? 谁用谁知道……
具体配置过程:
在SSH登录工具Putty的登录设置中配置tunnel,目标设置为Dynamic,添加一个端口7070,再按Add,一个动态转发端口就实现了;
然后用相应帐号ssh登录后:除了登录的终端窗口意外,本地的7070连服务器的22端口之间就有了一个SSH加密的转发通道了。
为了方便切换,可以使用FireFox的SwitchProxy tool插件,设置socks代理通过本地的127.0.0.1:7070 进行传输。
MSN的机制类似:就是在连接配置中设置sock5 加密代理。
附:
获得国外的SSH帐号或者有Dreamhost虚拟主机的可以增加ssh用户:都可以用类似机制进行加密访问。
感谢number5:
更简单方便的setup方式是使用 putty的后台命令行程序 plink
plink -N username@remote.ssh.server -D 127.0.0.1:7070
其中 -N 表示不需要shell
username@remote.ssh.server 换成你ssh帐户名和主机域名或者地址
或者替换成 -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:/path/to/id_rsa.ppk username@example.com方式登录。
注意:
加密通道和网站是否提供https没有直接的关系,https是指服务商直接向客户提供的加密,例如:GMail: https://mail.google.com/mail/, GReader: https://www.google.com/reader/view/,从ssh server到服务网站之间仍然是明文的http传输;
加密通道和匿名不匿名访问网站也没有直接关系。
=============
更简单方便的setup方式是使用 putty的命令行程序plink
plink -N username@remote.ssh.server -D 127.0.0.1:7070
其中 -N 表示不需要shell
username@remote.ssh.server 换成你ssh帐户名和主机域名或者地址
或者替换成 -load sessionname 也可以
用dreamhost上的帐号试了一下,真的很快
====
本机和ssh服务器之间的通讯的确加密了,但是服务器替你访问站点时还是非加密通道呀?
还是TOR比较好
======
我就在用这种方式拿Dreamhost作Socks5代理,加上FireFox的FoxyProxy插件,访问Google Cache和Wikipedia都很方便。 :)
在number5的基础上补充一点:一般SSH服务器都支持公钥验证,用puttygen生成一个key-pair,就可以实现后台自动登陆SSH服务器。
========
这种方法自己知道自己私底下用还行,如果广而告之,人家服务器管理员不傻,
在ssh配置里加上如下的语句,上面一切方法全部失效......
到时候,,呵呵......
#cat /etc/ssh/sshd_config
.....
.....
AllowTcpForwarding no
GatewayPorts no
X11Forwarding no
......