2012-07-17 38 views
1

服务(例如FTP服务器)只接受来自特定网络的连接,其中所有用户都具有相同的外部IP地址。通过ssh转发网络连接,以便我的出站IP更改

我想连接到此服务,但我目前不在允许的网络内。

我有ssh访问网络内的服务器。

如何使用ssh通过内部网络上的机器将本地机器上的某个端口隧道到最终服务,以便任何打开正确端口的客户端都不会注意到任何区别?

回答

3

您可以使用以下命令创建到您的特定网络的SSH隧道。 例如,假设您想要在计算机“mywebserver”(端口80)上访问Web服务。

  • 在Linux或BSD,使用OpenSSH,您可以使用以下命令行:

SSH -f mysshserver -L 1234:MyWebServer的:80-N

  • 在Windows下,你可以使用MobaXterm其中包括一个简单的图形SSH隧道建设者

这将打开本地端口12 34和端口80上的远程网络服务器。然后,您可以打开您的网络浏览器,并通过在地址栏中键入“http:// localhost:1234”直接连接到您的网络服务器。

+0

*删除*,我完全错过了解答。 – Letharion 2012-07-19 07:52:19

+0

命令行是否在您的服务器上运行? – Didier 2012-07-20 13:18:38

+0

很抱歉,延迟很长。不,我无法工作。下面是一个shell脚本,显示我的工作: 'REMOTE_PORT = 8080; LOCAL_PORT = 1234; REMOTE_URL = somedomain.com; ssh -f localhost -L $ {LOCAL_PORT}:$ {REMOTE_URL}:$ {REMOTE_PORT} -N; curl http:// localhost:$ {LOCAL_PORT} | wc -l; ssh $ {REMOTE_URL}“curl http:// localhost:$ {REMOTE_PORT}”| wc -l;' 我除了两个'curl's给出相等的输出,但第一个在60秒超时后一起失败,而第二个返回29个行。运行本地nmap将打开$ {LOCAL_PORT}。 – Letharion 2012-09-28 10:10:37