Autossh打洞
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打洞