Re: [打屁] 有人對ssh tunnel有興趣的嗎?

看板EZsoft (小軟體)作者 (Cos)時間17年前 (2009/03/09 01:18), 編輯推噓6(604)
留言10則, 9人參與, 最新討論串2/2 (看更多)
那我就以HZYSoft下面這篇教學為基礎,接下去寫吧 ====================================================================== 防火牆內| A: localhost(本機) | S: ssh server C: 另一台機器 IP: 192.168.1.1 | IP: 10.1.1.1 IP: 10.1.1.2 | B: 另一台機器 | IP: 192.168.1.2 | ====================================================================== 從A來直說明Reverse Tunnel 以這個指令 "ssh name:10.1.1.1 -R 8080:127.0.0.1:80" 連線後 這個連線會讓ssh server多listen一個port A: 127.0.0.1:80 |<------------------------------------| S: listen 8080 port 特別的是,這個listen port,只限定ssh server本機來連入 所以S可以用(127.0.0.1:8080) 連到 (A的192.168.1.1:80) ====================================================================== 再來舉第二個例子 從A來建立Reverse Tunnel,再導到B機 以指令 "ssh name:10.1.1.1 -R 2121:192.168.1.2:21" 來連線後 B:192.168.1.2 ^ | A:192.168.1.1 S: listen 2121 port |<------------------------------------| 同樣的結果,這個Reverse tunnel只限定ssh server本機來連入 所以S可以用(127.0.0.1:2121) 連到 (B的192.168.1.2:21) ====================================================================== 第三個例子,承二個例子,我們接下來要解決如何從C連到A的問題 雖然我們可以從防火牆內部對外建立reverse tunnel, 但這個reverse tunnel只限定ssh server本機連入, 而C並無法直接以 (10.1.1.1:2121) 來連到 (B的10.1.1.2:21) 解決方法就是: 從C建立一個local tunnel 到ssh server!! 指令為: ssh name@10.1.1.1 -L 21:127.0.0.1:2121 如下圖: B: 192.168.1.2:21 ^ | A: 192.168.1.1 S: listen 2121 port |<------------------------------------| (reverse tunnel) ^ | (local tunnel) |<----------------| 127.0.0.1:2121 C: listen port 21 此時,C可以用 (127.0.0.1:21) 連入 (B的192.168.1.2:21) ====================================================================== 第四個例子 假設A機器上有ssh server的功能 1.先建立A --> S 的reverse tunnel (指令 ssh name:10.1.1.1 -R 22222:127.0.0.1:22) 2.再建立C --> S 的local tunnel (指令 ssh name:10.1.1.1 -L 22:127.0.0.1:22222) 3.此時在C要連到 A 的連線上,建立dynamic tunnel (指令 ssh name:127.0.0.1 -D 8080) 圖示: A: 192.168.1.1:22 S: listen 22222 port |<------------------------------------| (reverse tunnel) | | (local tunnel) |<----------------| 127.0.0.1:22222 C: listen port 22 (dynamic tunnel) |<------------------------------------------------------| C: listen port 8080 此時C可以利用sockcap或tsocks,將軟體的連線導到從A出去 猶如就是從A出去的 =================== 後記: 謝謝那些推文的人,我想網路上的確有更好的教學可以參考, 非常感謝你們的鼓勵,讓我有野人獻曝的勇氣, 那些噓我的人,你們有噓我的權利,但請不要澆息別人寫教學的熱忱 我很認同HZYSoft的作法,至少從網路上找到很好的教學給大家 而不是只是單純地噓人,所以下次要噓我,請噓的有點建設性,謝謝~ 最後的最後: 以上僅為ssh tunnel教學,使用者請勿用於非法用途之上。 任何使用者行為,並不在此教學文的責任上。 ※ 引述《HZYSoft (PCMan 知識+)》之銘言: : ※ 引述《qsort (Cos)》之銘言: : : 有人對: : : Dynamic tunnel : : local tunnel : : Remote tunnel : : 這三種的差別,和使用時機有興趣的嗎? : : 最近玩得很有心得~ : : 但不知有沒有人有興趣 : : 以下推破50人,我就po出教學XD : : 第一個推文的人,要幫我寫google doc喔XD : 其實已經有人寫過教學了,還滿詳細的: : http://blog.t-times.net/ada/space/start/2007-11-20/1 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.43.192.151 ※ 編輯: qsort 來自: 114.43.192.151 (03/09 01:18)

03/09 01:20, , 1F
另外ssh tunnel可參考#18MxlfVp (EZsoft版)
03/09 01:20, 1F

03/09 01:49, , 2F
很棒的教學文件,謝謝!
03/09 01:49, 2F

03/09 01:50, , 3F
三四例子不用那麼麻煩, 在 S 上開 GatewayPorts 就好了 ...
03/09 01:50, 3F

03/09 01:58, , 4F
感謝樓上的keyword,的確是可行的方法,但比較insecurity
03/09 01:58, 4F

03/09 04:19, , 5F
神一般的三樓又出現了!黑黑界的大神 <(_ _)>
03/09 04:19, 5F

03/09 20:39, , 6F
三樓是XX界的神,有神快拜...
03/09 20:39, 6F

03/09 21:24, , 7F
不認識三樓,有沒有懶人包...下跪求
03/09 21:24, 7F

03/10 01:59, , 8F
HZY大都拜了!! 小弟豈有不拜遺下的道理.. 有懶人包嗎 ? XD
03/10 01:59, 8F

03/10 11:11, , 9F
難得在這裡遇見3FXDDDDDD
03/10 11:11, 9F

03/10 22:41, , 10F
OuTian出沒,引起騷動...XDXD
03/10 22:41, 10F
文章代碼(AID): #19i_tDM_ (EZsoft)
文章代碼(AID): #19i_tDM_ (EZsoft)