13
Sep

巧用SSH做代理服务器

更新:车东文中提到的获得国外的SSH帐号 我已经搞定。http://silenceisdefeat.org/~dupola/。不过我还没搞清楚到底怎么用它来做代理,不过我相信我可以搞定的。。。。。目前也用不上。
另外,不清楚这个Unix系统帐号明年需要不需要继续赞助……另外,给的ssh密码也不知道如何修改,难道要写信过去?

转自:Shawn’s Blog.

其实这是一个很早就有的技巧,但以前使用国外空间的朋友并不多,所以没有普及开来。随着越来越多的用户购买了DreamhostHostmonster 等国外空间,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,一个动态转发端口就实现了;
dynamic_tunnel.png
然后用相应帐号ssh登录后:除了登录的终端窗口意外,本地的7070连服务器的22端口之间就有了一个SSH加密的转发通道了。

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

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 版权所有,转载时必须以链接形式注明作者和原始出处及本声明。


已登录的鲜果用户?

Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网 Twitter this Bookmark and Share

18 Comments

Trackbacks/Pingbacks

发表评论

名称(必填)
电子邮箱(不公开)(必填)
网址

字体为 粗体的 为必填项目. 邮箱地址 永远不会 被公布。

允许部分 HTML 标签:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
URIs 必须完整 (例如: http://www.dupola.com) ,所有标签必须正常关闭。

系统会自动分行,并截断部分字符的超出部分。

请注意留言与文章内容 相关, SPAM 将被列入本站的黑名单。

    订阅

    友善閱讀

    赞助商

    • 15$一个文字链接(方法)

    Featured Links