SSH的隧道學習

2021-09-08 03:31:05 字數 1918 閱讀 8199

應用資料通過ssh,完成加密,**,解密,通訊。

ssh連線方向和應用連線方向相同,就是本地埠**,不同就是遠端埠**。

1.加密ssh client 端至ssh server 端之間的通訊資料

2.突破防火牆的限制完成一些之前無法建立的tcp 連線

動態**

指定乙個本地機器 「動態的」 應用程式埠**. 工作原理是這樣的, 本地機器上分配了乙個 socket 偵聽 port 埠, 一旦這個埠上有了連線,該連線就經過安全通道**出去, 根據應用程式的協議可以判斷出遠端主機將和**連線. 目前支援 socks 協議, ssh 將充當 socks 伺服器.只有 root 才能**特權埠.

ssh-d 1080 root@sshserver

假設主機a想要訪問受限網路所限制訪問的主機c、d、e等(但是主機b可以訪問),或者想要訪問主機b上的「sb」內容。則可有d選項建立動態隧道

ssh -cfng -d 8888 lige@host-b

如果我們需要借助一台中間伺服器訪問很多資源,乙個個對映顯然不是高明的辦法(事實上,高明確實沒有用這個方法)。幸好,ssh客戶端為我們提供了通過ssh隧道建立socks伺服器的功能。

當本地1080埠受到外部**請求會**到外部伺服器上面去,**伺服器通過1080埠把請求**到站點伺服器上面去

對網路原理不太懂或不感興趣的可以忽略此部分

總的來說:tunnel實際上是乙個tcp連線,這個連線和普通的ssh登入的連線並沒有本質上的區別

假設有兩台主機a和b,ip分別是ip_a和ip_b,是要把主機a的22埠對映到主機b的10022埠

連線的建立過程是這樣的:

建立tunnel (在a主機上執行命令)

ssh命令,把a的埠對映到b主機(ssh -nfr 10022:localhost:22 user_b@ip_b)

這個步驟實際上是這樣的:

(1)ssh命令是ssh客戶端,這條命令是指在a主機上登入b主機,並且a主機請求將a主機的22號埠對映到b主機的10022埠。

(2)b主機接受遠端登入請求後,檢測發現使用者的許可權足以建立10022埠,且10022埠並未使用。則b主機開啟乙個監聽埠:10022

(3)這條命令成功結束後,a主機有了乙個後台程序登入到b主機,這個登入的連線正是「tunnel」。

而b主機相應也有這麼乙個後台程序,此外b主機還增開了乙個監聽埠:10022

(4)在這個過程中,b是server,a是client。那麼a是以乙個任意埠連線到b的ssh監聽埠。所設這個連線是

ip_a:12345 —— ip_b:22

連線對映埠 (在b主機上執行命令)

連線對映埠 ( ssh user_a@localhost -p 10022)

這個步驟實際上是這樣的:

(1)主機b連線自己的乙個監聽埠10022

於是主機b以乙個任意的埠連線10022: ip_b:23456 ——- ip_b:10022

(2)10022埠實際是由主機b的sshd來維護的,sshd發現有連線到10022的埠的資料。

將資料封裝成ssh包,通過已經建立好的tunnel傳輸到對端主機a的12345埠(tunnel建立時的初始埠)

(3)主機a的12345埠收到資料後,經過tunnel的建立程序的處理(解開ssh包),把資料轉到主機a的埠22(建立tunnel時指定的埠)

(4)因此,這個反向的連線就建立起來了

tunnel與tcp連線的關係

(1)tunnel本質是乙個tcp連線

(2)tunnel的作用用於傳輸其它tcp連線的資料

(3)對使用者而言,tunnel就是它們可見的tcp連線傳輸的乙個「隧道」

ssh隧道的妙用

場景說明 a主機和b主機在同乙個園區網,a主機可以出公網,b主機不可以出公網。滲透工程師已經拿下a主機控制權。一 如何在外網訪問到b主機 方案 ssh本地埠對映 背景 當我們拿下a主機之後想和b主機通訊,可以選擇直接在a主機上進行操作,但這樣會留下相關日誌,增加了被發現的風險。此時可以通過ssh隧道...

SSH 隧道技術

ssh 隧道 下面的命令告訴 ssh 1 ssh 2 n f l 5023 localhost 23 user foo.example.com 上述 ssh 命令使用了下面這些選項 2強制 ssh 使用第2版的協議 如果需要和較老的 ssh 一同工作請不要使用這個選項 n表示不使用命令列,或者說只使...

ssh隧道建立

問題 目標伺服器 a 在nat之後,中介伺服器 m 在公網上,客戶端 c 在nat後,需要從c發起ssh連線到a。解決辦法 1.從a發起ssh連線到m,繫結m的遠端埠,假設a和m的ssh服務都在22埠監聽。在a上執行 ssh nfr 19022 localhost 22 user host m ip...