利用Putty/Plink通过ssh tunnel端口转发实现FireFox和Chrome的加密代理访问


2010-01-25更新:
如果需要使用远端服务器的DNS:在Firefox中about:config设置 network.proxy.socks_remote_dns ==> true

参考原文: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,一个动态转发端口就实现了;
dynamic_tunnel.png
然后用相应帐号ssh登录后:除了登录的终端窗口意外,本地的7070连服务器的22端口之间就有了一个SSH加密的转发通道了。在自己Windows机器上可以用命令行: netstat -n -a 看到有这样一条:

TCP [::1]:7070 [::]:0 LISTENING 0

为了方便切换,可以使用FireFox的SwitchProxy tool插件,设置socks代理通过本地的127.0.0.1:7070 进行传输。
switch_proxy.png

MSN和Chrome的机制类似:就是在连接配置中设置sock5 加密代理。

感谢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方式登录。 完整配置:

c:\Putty\plink.exe -N -i c:\Putty\foo.ppk bar@example.com -D 127.0.0.1:7070

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

作者:车东 发表于:2006-12-05 08:12 最后更新于:2012-12-23 00:12
版权声明:可以转载,转载时请务必以超链接形式标明文章 的原始出处和作者信息及本版权声明

引用通告

以下是前来引用的链接: 利用Putty/Plink通过ssh tunnel端口转发实现FireFox和Chrome的加密代理访问:

» 加密浏览互联网 来自 巧克力工厂 (Beta3)
最近几天,很多 blogger (1, 2, 3) 都介绍通过 SSH 连接远程主机的方法来达到匿名浏览网络的效果。 车东的这篇文章对国内很多有自己的支持 SSH 独立空间的人来说可以说非常有帮助,具体有什么... [阅读更多细节]

» SSH tunnel 来自 织梦者
昨天拿到一份PHP的整站数据,却苦于手头没有国内的支持PHP的空间,只好又打上了Dreamhost的主意。600M的数据库,6万多篇文章,全部生成以后估计大得吓人吧。也只有DH20G的海量足有消化他们... [阅读更多细节]

» 网站的外链/内链统计:来自Google的网站管理员工具 来自 车东[Blog^2]
Google的网站管理员工具有这样一个功能:查询相应网站的外链/内链数量和明细。从控制台,点击一个已经提交的网站:控制台 > http://www.chedong.com/blog/ > 含外部链接的网页 > 以下是导出的部分 chedong.com/blog的外链数量统计: 可惜不是按外链数量排序的,可以导出成EXCEL,报表如下: http://www.chedong.com/blog/ 17471http://www.chedong.com/blog/in... [阅读更多细节]

» GMail的常用搜索命令: is:unread in:spam 来自 车东[Blog^2]
备忘一下: 下面搜索选项需要在高级搜索中从下拉菜单中选择的。 滤出所有未读邮件: is:unread 在垃圾邮件中找找有没有被误删的文件: in:spam 车东 另外还有根据发件人查找等,在高级搜索中都可以比较方便的输入。GMail的高级搜索选项的完整列表:请参考GMail帮助。... [阅读更多细节]

» 免费企业邮箱: Google企业邮箱的申请 来自 车东[Blog^2]
很多创业公司都将自己的公司邮件系统托管在了Google的企业应用套件平台上: 免费版就包括了支持数百帐号的6G邮箱(含邮件列表),在线日历,现在文档共享等功能,而且邮箱的帐号是可以绑定GTalk IM服务的。最常见的问题是如何申请: 从中文界面到了第二步填写信息的时候,总是会提示你选择的国家(中国)"Google 企业应用套件目前不支持该国家/地区的域名。" 这里有个问题: 最重要的是要通过美国的代理服务器访问; 1 申请的域名必须是.com域名的邮箱:如果有.cn com.cn域名需要申请,可以先... [阅读更多细节]

» PuTTY使用笔记:登录设置的批量备份导出/导入 来自 车东[Blog^2]
Putty是最常用的远程登录工具和加密代理访问工具等,管理很多台服务器的时就有很多登录配置,当换机器的时候就成了一个问题。今天系统管理员告诉我了一招,在Windows的命令行下运行: REG EXPORT HKEY_CURRENT_USER\Software\SimonTatham SESSION.REG 然后在其他机器上导入注册表信息: SESSION.REG即可。... [阅读更多细节]

Comments

更简单方便的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比较好。

我不明白一点,为什么用 Firefox 浏览时,不用设置 http 协议的代理地址?

我就在用这种方式拿Dreamhost作Socks5代理,加上FireFox的FoxyProxy插件,访问Google Cache和Wikipedia都很方便。 :)

在number5的基础上补充一点:一般SSH服务器都支持公钥验证,用puttygen生成一个key-pair,就可以实现后台自动登陆SSH服务器。

晕,一直试着想通过DH来建立一个通道自己访问外网,没想到putty居然就可以建立这样的通道啊!

如果我没有理解错误的话
这样就能够通过类似https的方式,访问不提供https的网站,对吧?

另to楼上:
ssh访问是通过加密的方式,本机到ssh是明文,ssh到要访问的网站是加密通道才对。

putty这个功能真的太好玩了,我可以骗别人说我到美国了:)
原来这么简单啊:)

弄了个SilenceIsDefeat的账号,好像不行啊,是不是SilenceIsDefeat有限制了? 试了下其他ssh账号是可以的。

在SilenceIsDefeat的faq中找到答案了,连ssh.silenceisdefeat.org就可以建ssh tunnel了

在linux下如何实现呢?

To add to what nathan suggested, on linux do
找到的在linux下实现的方式,用ssh命令就可以了。

ssh -qTfnN -D 7070 remotehost.

All the added options are for a ssh session that’s used for tunneling.

-q :- be very quite, we are acting only as a tunnel.
-T :- Do not allocate a pseudo tty, we are only acting a tunnel.
-f :- move the ssh process to background, as we don’t want to interact with this ssh session directly.
-N :- Do not execute remote command.
-n :- redirect standard input to /dev/null.

In addition on a slow line you can gain performance by enabling compression with the -C option.

对于那些不支持socks v5的程序可以用SocksCap V2来转发,SocksCap下载地址 http://www.feedss.com/down/SocksCapV2.zip

您好!请问您有没有联系方式呢?
我的企图:希望能得到你的建议一二,可以吗?我的QQ是674026016,谢谢。

在配置tunnel过程中,如果同时选择第一个选项 Locals ports accept connections from other hosts,能连上你的机器的人就能共享你的tunnel了。例如我在我的电脑开设7070端口同时选择上面的选项。局域网的同事就能用 192.168.0.X(我本机ip)和7070端口连接我的ssh tunnel实现浏览。

By the way,应该是SwitchProxy插件

这种方法自己知道自己私底下用还行,如果广而告之,人家服务器管理员不傻,

在ssh配置里加上如下的语句,上面一切方法全部失效......
到时候,,呵呵......

#cat /etc/ssh/sshd_config
.....
.....
AllowTcpForwarding no
GatewayPorts no
X11Forwarding no
......

silenceisdefeat.org怎么申请?
我用Paypal给donate@silenceisdefeat.org捐了1$,但是却一点回音都没,都好几天了。当时也给support@silenceisdefeat.org发了封邮件,但是都没有得到回复。。
不知道你们是怎么申请的。

找不到ping的地址,手工ping一下:
在Ubuntu下如何通过SSH隧道实现加密代理访问
http://talk.blogbus.com/logs/10543912.html

车东老师,问一下。
我使用这个方法好像不行,127.0.0.1连不上去?请问是什么原因引起的?需要开什么端口么?
我没有装防火墙,XP默认防火墙都没有开。

试了一下
报错了
Server Refused our key
或者
Access Denied

是在Windows 下试验的,是不是和Putty帐户有关啊
请指教

dns也被劫持了,有没有好的办法?

车东老师,我申请了你推荐的那个1美元ssh帐号,但是并不能进行数据转发啊

来个网络代理
http://med.idol-photo.org/0gfw/
速度蛮快

没有SSH账号,可以在这里申请一个:http://blog.showjay.com/posts/free-ssh-account.html

这样使用 DH 帐号,主机的 IP 会不会被封啊?

不错的方法。

这是一个不错的办法,适合那些有 SSH 的账户的朋友,但是穿墙工具目前多的去了。

我一般用在线代理(Kdaili.com)的,不过这个方法也不错,回去试一试

能够通过类似https的方式,访问不提供https的网站吗?

QQ使用socket代理时要什么用户密码,这个怎么回事?

没想到车东的博客也被墙了。
我有个问题请教:
请教myentunnel里tunnels的选项该如何设置?我在局域网想使用另一台电脑的ssh-tunnel,不想装ccproxy,而宁愿用privoxy,却都不通。

测试了putty的ssh-tunnel,选中Locals ports accept connections from other hosts后,局域网其他客户机可以正常连接。

请教myentunnel是否可以?

Windos7,Firefox+SSH+Autoproxy,将www.google.com加到autoproxy的列表中, 也就是指定通过代理访问www.google.com但是发现很不稳定, 经常刷新好几下才能打开, 不知道这是配置问题还是什么其他原因, 请教答案, 谢谢...

发表一个评论

(如果你此前从未在此 Blog 上发表过评论,则你的评论必须在 Blog 主人验证后才能显示,请你耐心等候。)

相关文章

关于

此页面包含了发表于2006年12月05日 早上08时35分的 Blog 上的单篇日记。

此 Blog 的前一篇日记是 [CC] Chedong Copyright: 便于复制/粘贴的版权声明

此 Blog 的后一篇日记是 SF.net的在线调查:基于开源软件的在线咨询中介市场

更多信息可在 主索引 页和 归档 页看到。

Creative Commons License
此 Blog 中的日记遵循以下授权 Creative Commons(创作共用)授权.
Powered by
Movable Type 3.36