2012-07-17 73 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