1. 程式人生 > >Autossh打洞

Autossh打洞

ssh authossh 打洞

autossh介紹:

  • autossh 是一個用來啟動 ssh 並進行監控的程序,可在需要時重啟 ssh,如果程序問題或者是網絡問題。其靈感和機制來自於 rstunnel (Reliable SSH Tunnel). autossh 1.2 的方法已經改變:autossh 使用 ssh 來構造一個 ssh 重定向循環(本地到遠程和遠程到本地),然後發送測試數據並獲得返回結果。

  • 內網主機主動連接到外網主機,又被稱作反向連接(Reverse Connection),這樣NAT路由/防火墻就會在內網主機和外網主機之間建立映射即可相互通信了。但這種映射是路由網關自動維持的,不會持續下去,如果連接斷開或者網絡不穩定都會導致通信失敗,這時內網主機需要自動重連機制了。

安裝:

  • yum install autossh

實例:

  • autossh -M 9090 -fCNR 18081:10.10.3.x:8080 [email protected]

  • autossh -M 9091 -fCNR 18082:10.10.3.x:80 [email protected]

  • autossh -M 9091 -fCNR 18083:127.0.0.1:80 [email protected]

  • 這樣將在‘x.x.x.x‘主機上開啟一個本地偵聽地址:18081,訪問本地18081將轉發至10.10.3.x:8080

-M 9090參數,負責通過9090端口監視連接狀態,連接有問題時就會自動重連。
-M 是服務器echo機制使用的端口。

  • autossh -M 5678 -CqTfnN -D 192.168.0.2:7070 freeoa@remote-host

參數解釋:

  • -M為autossh參數, -CqTfnN -D 為ssh參數

  • -M 5678 : 負責通過5678端口監視連接狀態,連接有問題時就會自動重連

  • -C :啟動數據壓縮傳輸

  • -q :安靜模式運行,忽略提示和錯誤

  • -T :不占用shell

  • -f :後臺運行

  • -n :配合 -f 參數使用

  • -N :不執行遠程命令,專為端口轉發度身打造

  • -D 192.168.0.2:7070 :指定一個本地機器 “動態的“ 應用程序端口轉發,如果不加IP地址,默認只監聽127.0.0.1

使用場景:

  • 場景:A是內網服務器192.168.1.10(內部多次nat,無法使用公網IP),B是內網用戶轉發代理服務器192.168.1.12,C是公網服務器x.x.x.x,D是用戶PC

  • 需求:D訪問A內網服務器web 8080

  • 方法:
    1.B安裝autossh

2.B執行autossh -M 9091 -fCNR 18080:192.168.1.10:8080 [email protected]

3.設置B可以無密碼登陸C

4.D上打開putty,設置正向代理,點擊Add,save保存,如圖:

技術分享

5.D上打開瀏覽器:http://127.0.0.1:18080 ,訪問到內網A服務器web應用


本文出自 “未來時空” 博客,請務必保留此出處http://sjitwant.blog.51cto.com/3661219/1976409

Autossh打洞