1 指令說明:
ssh隧道代理是友善遠端通路伺服器的功能. 分本地連接配接, 遠端連接配接.
ssh指令 -L 參數表示 local
本地連接配接可以了解為建立ssh隧道的指令是在中轉的伺服器上執行的, 也可以了解運作ssh建立隧道的機器會建立本地的監聽端口來接收需要轉發的請求
-R參數表示 remote
遠端連接配接是在無法直接通路到,需要通過中間機器通路的那台機器上執行建立ssh隧道的指令, 對于執行建立隧道的機器來說,是開通一個遠端端口來監聽需要轉發的請求.
預設建立隧道指令會通過登入驗證登入到遠端機器上,并且登入斷開後就關閉.可增加參數加以控制.常用的有
-N 不在登入到目标及其
-f 背景運作
-g 網關功能,開啟所有的IP監聽
2 local通到建立樣例:
在192.168.56.1上執行local隧道 ssh -f -N- L 192.168.56.1:5555:192.168.56.2:8081 [email protected]
指定監聽位址192.168.56.1上的5555端口監聽轉發,這裡指定了IP, 否則預設127.0.0.1上的端口打開,或者使用-g參數打開所有ip上的5555端口
通過中間機器(這裡是192.168.56.2)直接通路中間機器可以通到其他機器的端口上(這裡是192.168.56.103:3306)
ssh -f -N -L 192.168.56.1:5555:192.168.56.3:3306 [email protected]
3 remote隧道建立樣例
在192.168.56.2上執行remote隧道
ssh -f -N -R 5555:192.168.56.2:8081 [email protected]
外連接配接隻能綁定的到代理伺服器上的127.0.0.1位址上, 結果是在192.168.56.1上開通5555端口通向192.168.56.2上的8081端口
4 确認監聽端口的開啟
檢視端口監聽端口建立情況
ss -tnl
windows 在power shell下使用檢視端口監聽情況
netstat -ano