如何利用SSH隧道穿越你的企业级防火墙

发表于:2007-06-23来源:作者:点击数: 标签:
注意:翻译成中文文章在我国法律规定 翻译者有中文版的版权 出于尊重 请转载时著名翻译人和原作者的署名 谢谢合作!另外文章本来想投到《黑客X档案》给朋友做的的杂志添砖添瓦 但是考虑过后 还是决定发网络 给广大的朋友共享 毕竟文章翻译 质量 也不好 发了

   

注意:翻译成中文文章在我国法律规定 翻译者有中文版的版权 出于尊重 请转载时著名翻译人和原作者的署名 谢谢合作!另外文章本来想投到《黑客X档案》给朋友做的的杂志添砖添瓦 但是考虑过后 还是决定发网络 给广大的朋友共享 毕竟文章翻译质量也不好 发了刊物没准给我抹黑 文章图片我加工过 翻译意在给一些英文不的朋友一些参考 本人也不是高手 共免:P

原来文章英文题目:

How to Bypass Your Corporate Firewall Using SSH Tunneling

简短的序言:

我得到一份新的工作,但是由于ISA防火墙,我没办法远程连接(终端服务,Radmin,VNC等)我家的机器。在经过与朋友同事的讨论后,终于找到了如下的办法。没别的意思,我只是想和大家共同通过这个便于理解的图文教程来巩固一下,每个人都喜欢图文的教程。

方案前提:

1、你家里的机器已经运行了一些远程服务(什么都行),配置和设置这些比较轻松,但是仍然在本文讨论范畴之外。

2、确保你和家中那个远程服务所开的端口能正常通信(特别注意你公司的那个愚蠢的防火墙),在家中路由和防火墙上已经打开该端口。

3、你已经为了允许通过SSH连接到你的家庭网络中在路由器上打开了端口22。

4、无论你公使用何种防火墙都需要已经打开22端口以便进行SSH通信。

让我们开始吧:

首先我们在家里下载我们需要用到的辅助工具

1)Cygwin(_blank>http://cygwin.com)

2)PuTTY(_blank>http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)

如何利用SSH隧道穿越你的企业级防火墙(图一)

(图1)

选择一个FTP服务器来下载(这里冰血亲自去重新抓了一张图 下面一段和原文的有点不同 因为原文不详细^_^)

注意:这里我们选择好后,下一步很复杂,首先你点一下右上角的view按钮,现在显示出了详细的信息。下拉滑动杆找到open SSH Server and client programs这项,把他在New列下的标识从Skip转换为Install(这里原文是说Install的,但是我没找到,有两个安装过程,我把两个openssh和openssl都装了)。

如何利用SSH隧道穿越你的企业级防火墙(图二)

(图2)

现在你可以选择其他的你想安装的,当然花的时间也就更长了。

如何利用SSH隧道穿越你的企业级防火墙(图三)

(图3)

当Cygwin安装完成后我们通过桌面的快捷方式图标启动它,现在我们将看见一个shell。

在这个shell中我们通过输入ssh-host-config来安装sshd服务。系统会自动提问你两个问题,你只需要都回答YES就可以了。完成后你将看见这样的shell提示。

如何利用SSH隧道穿越你的企业级防火墙(图四)

(图4)

下一步是通过命令提示符启动SSH daemon服务,具体过程是:开始->运行->cmd<回车>后输入Net Start SSHD,执行后的情况如下图所示。

如何利用SSH隧道穿越你的企业级防火墙(图五)

(图5)

Net start sshd-启动SSH服务

Net stop sshd-停止SSH服务

当服务已经启动开始运行后它将每次随计算机的启动自动启动,无须手工了。

好了,以上所有的工作都在家里完成,当然我们是在假设你家里的系统已经运行了一些远程控制服务,比如:VNC,Radmin,终端服务等等。

回到公司要做的:

现在我们需要的是PuTTY和你的远程控制客户端。本文将使用用Radmin做示范(_blank>www.radmin.com)。

启动PuTTY,并且填写好参数把它指向你家的
网络

如何利用SSH隧道穿越你的企业级防火墙(图六)

(图6)

·输入你的公网IP地址

·端口是22

·选择SSH协议

·为你的session命名

隧道方面的设置问题:

·选择Coonection->SSH->Tunnels选项。

·在Add new forwarded port区中Source port填写你家里的远程控制服务端的监听端口(例如:Radmin的默认端口是4899,下面有图)。

·Destination是你的公
网络IP然后跟一个半角英文的冒号,后面再次填写你的源端口(source port),比如111.222.333.444:4899的样子。

·下面的选项按钮应保持在local。

·最后,通过点击Add(添加)按钮把刚才做的添加到当前配置。

·现在你设置的端口应该被添加到了Forwarded Ports box(你可以添加更多只要你愿意)。

如何利用SSH隧道穿越你的企业级防火墙(图七)

(图7)

注意:现在回到session设置区并且给你的session命名并且保存你的设置。这样,我们以后就再也不需要在启动的时候重新设置了。

远程控制客户端:

1、打开你的远程控制客户端。

2、设定你使用的那个端口(Radmin默认是4899)。

3、IP设置成你的本地回传地址127.0.0.1

如何利用SSH隧道穿越你的企业级防火墙(图八)

(图8)

连接的时候到了:

现在我们已经做好了前期工作,可以连接了。我们现在所做的是使用SSH通过本机端口22连接到家里的22端口。一旦连接建立成功后,我们就可以同时强制我们的Radmin通畅的进行连接了。所以,当公司的防火墙阻挡了我的4899端口请求却不阻挡22端口,我们就得逞了。为了成功的向外建立SSH连接,我们就要得请出PuTTY。

1、启动PuTTY,双击我们事先已经设置好的那个Radmin端口映射的连接。

2、使用你的
Windows帐号和密码通过PuTTY登录你的SSH连接。

3、当你的PuTTY成功建立连接后,打开你的远程控制客户端。

4、你必须已经保存了连接到127.0.0.1的连接设置。

5、打开到127.0.0.1的连接,如果一切顺利将提示你输入密码。

6、输入你的远程控制密码,现在你成功了!

来看看成功的抓图

如何利用SSH隧道穿越你的企业级防火墙(图九)

(图9)

PuTTY连接界面

如何利用SSH隧道穿越你的企业级防火墙(图十)

(图10)

Radmin连接界面

后记:

文章翻译完成了,小小的,短短的文章,竟然花了我一天时间。我最想说的是PuTTY其实是一款类似于端口重定向的软件,其实在公司的那一步可以使用fpipe来实现,只是估计是fpipe无法保存设置吧,而且是命令行的有点困难。

本人英语水平一般,而且是在熬夜的过程中写的,如有错漏纯属必然,欢迎大家到邪恶八进制安全小组(_blank>www.EvilOctal.com)指点斧正,这里要感谢剑客前辈给的有关企业级防火墙的定义。

为了便于广大前辈高手帮助勘误 特帖出英文原版图文PDF下载 以便高手阅读 谢谢



原文转自:http://www.ltesting.net