->
更新:车东文中提到的获得国外的SSH帐号 我已经搞定。http://silenceisdefeat.org/~dupola/。不过我还没搞清楚到底怎么用它来做代理,不过我相信我可以搞定的。。。。。目前也用不上。
另外,不清楚这个Unix系统帐号明年需要不需要继续赞助……另外,给的ssh密码也不知道如何修改,难道要写信过去?
转自:Shawn’s Blog.
其实这是一个很早就有的技巧,但以前使用国外空间的朋友并不多,所以没有普及开来。随着越来越多的用户购买了Dreamhost、Hostmonster 等国外空间,SSH的强大特性逐渐凸显出来。使用SSH,我们不仅可以通过命令操作实现更多的功能,根据其端口转发的特性,还可以利用Putty这个开源的SSH客户端建立一个独立通道,实现加密的互联网代理访问。
操作步骤如下:
1. 首先需要有一个国外主机的帐号和SSH访问权限(国内的不行,大家都知道为什么)。
2. 到官方下载Putty完整客户端,仅有putty.exe 这一个文件不行,因为需要用到plink.exe 这个 putty 的命令符程序。
3. 新建一个文件,写入以下内容,另存为.bat批处理文件,并放在Putty的安装目录内。
@echo off
goto start
:start
cls
color 1f
echo.
echo SSH Proxy 启动程序
echo.
plink -N Username@localhost -pw Password -D 127.0.0.1:1080
请将Username Localhost Password三处改为您自己登陆服务器的用户名、服务器地址和密码。4. 执行这个批处理文件,保持其窗口开启,一旦关闭代理便失效。代理服务器地址为:127.0.0.1:1080,使Socks5协议的代理,也可以更改为需要的端口。需要使用时请将相关信息正确部署至浏览器、即时通信软件内。
5. 开始使用!
下文转自:车东Blog:利用Putty通过ssh端口转发实现FireFox和MSN加密代理访问
参考原文: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传输;
加密通道和匿名不匿名访问网站也没有直接关系。
版权声明
作者:dupola原文标题:巧用SSH做代理服务器
原文链接:http://dupola.com/post/183
(C) dupola 版权所有,转载时必须以链接形式注明作者和原始出处及本声明。
22 条评论了已经
Trackbacks/Pingbacks
发表评论
字体为 粗体 是必填项目,邮箱地址 永远不会 公布。
允许部分 HTML 代码:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
URLs(网站链接)必须完整有效 (比如: http://dupola.com),所有标签都必须完整的关闭。
超出部分系统将会自动分段及换行。
请保证评论内容是与日志或 Blog 内容相关的,灌水、攻击性或不恰当的评论 可能 会被编辑或删除。
http://blog.cnblog.org/archives/2006/11/1sshsilenceisde.html
这个我申请过,但没反应。
我一直都有在用的方法:)以前也写过类似的一篇文章,不过批处理的那个方法倒是没用过:)
谢谢dupola分享。
@鬼仔 你推荐的这个看起来不错啊。
@summer 我一般是用FG,速度比较快。。。。
我发的那个就是你文中车东说的那个“获得国外的SSH帐号”
但是我没申请成功。
@鬼仔 那我申请一下试试。成功了我联系你啊。。。。
@鬼仔 我已经申请成功了。捐了1刀就成功了。
来。。跟我说下怎么申请的,我当时直接paypal过去1刀,然后写了封信,但是不成功。
我也搞定了,刚才去看了下,发现现在竟然直接有个form可填。以前没有的。
@鬼仔 哈哈。成功就好了。
测试。
再测试。
putty-keygen生成的key需要转换成为服务器上常用的openssh所用的格式哈
服务器上也可以装key格式,securecrt的key是可以转换的,不过没试过putty的
那个silenceisdefeat根本就不能做数据转发么,浪费1USD…
silenceisdefeat.org 是支持 SSH tunnel 的. 请注册, 主机名应当是ssh.silenceisdefeat.org, 他的网站内有帮助的.
http://silenceisdefeat.org/wiki/index.php/SSH_Tunneling
很好的方法,现在还能用不
当然可以。
不错~拿来主义一下 呵呵
直接使用plink的批处理貌似不行 不知道为啥
借助myentunnel却是可以成功