【端口轉(zhuǎn)發(fā)】SSH端口轉(zhuǎn)發(fā)

0x01 SSH隧道

什么是SSH隧道呢?舉個例子,我們都知道,SSH傳輸數(shù)據(jù)是加密傳輸?shù)模梢杂行У谋WC數(shù)據(jù)的安全,但是telnet是明文傳輸?shù)?,很不安全,尤其是在公網(wǎng)上,一旦監(jiān)聽到就會有很大的危害,所以一般公司的防火墻都會禁止外網(wǎng)通過telnet連接內(nèi)網(wǎng)的計算機的。那么如果我們想在外面訪問公司的計算機怎么辦呢?這個時候就可以用到SSH隧道技術(shù),可以保證數(shù)據(jù)的傳輸是加密的。通常我們講的ssh隧道技術(shù)其實就是ssh端口轉(zhuǎn)發(fā)。

0x02 SSH本地端口轉(zhuǎn)發(fā)

原理如下圖


建立本機獨享隧道

將本地9999端口通過192.168.10.1映射到192.168.10.2

ssh -L 9999:192.168.10.2:23 -Nf 192.168.10.1

-L 本地端口轉(zhuǎn)發(fā)
-N 不執(zhí)行命令或者腳本,否則會等待用戶的輸入
-f 后臺執(zhí)行

建立共享隧道

他人可以通過訪問我的9999端口來訪問192.168.10.2

ssh -g -L 9999:192.168.10.2:23 -Nf 192.168.10.1

0x03 SSH遠程端口轉(zhuǎn)發(fā)


那么當防火墻設置為我們從外面不能直接訪問內(nèi)部網(wǎng)絡的服務器,但是內(nèi)部網(wǎng)絡的服務器可以訪問外面的時候,就要用到遠程端口轉(zhuǎn)發(fā)技術(shù)了。此時就要在內(nèi)網(wǎng)跳板計算機上運行命令

ssh -R 9999:192.168.10.2:23 -Nf <外部ip>

這樣外部用戶只要在自己的機器上使用

telnet 127.0.0.1:9999

就可以訪問到內(nèi)網(wǎng)192.168.10.2的telnet了。

0x04 SSH動態(tài)端口轉(zhuǎn)發(fā)

舉個場景,存在遠程外網(wǎng)服務器233.233.233.233上3000端口運行這一個web1服務,4000端口運行這一個web2服務,5000端口運行這一個web3服務(隨便舉的例子),然后由于防火墻策略只能用22端口連接外部網(wǎng)絡,那么如何才能訪問到那個外網(wǎng)服務器上的web服務呢?有的同學一定會說可以使用ssh本地端口轉(zhuǎn)發(fā)呀,是的,我們可以在本地運行命令

ssh -L 6666:localhost:3000 root@233.233.233.233 //訪問web1服務
ssh -L 7777:localhost:4000 root@233.233.233.233 //訪問web2服務
ssh -L 8888:localhost:5000 root@233.233.233.233 //訪問web3服務

這樣做是可以的,但是吧,不覺得很麻煩嘛,如果有10個服務要訪問呢,就要輸入10條命令,那么這樣就可以使用SSH動態(tài)端口轉(zhuǎn)發(fā)功能了,只需要一條命令即可實現(xiàn)多端口訪問。這里需要用到SOCKS代理,使用命令

ssh -D localhost:2000 root@233.233.233.233

然后在瀏覽器中找到設置代理的地方,選擇SOCKS代理,選擇SOCKS5,SOCKS主機填localhost,端口填2000,這樣我們只需要在瀏覽器中輸入localhost:3000或者localhost:4000或者localhost:5000就可以方便又快速的訪問三個web服務了。這里的原理就是我們訪問本地加端口的請求會被ssh轉(zhuǎn)發(fā)到真正的那個地址(這里就是外網(wǎng)服務器),又真正的那個地址來處理這個請求,然后將數(shù)據(jù)發(fā)回來。

0x05 聲明

這篇文章是我通過查詢資料然后根據(jù)自己的認知來寫的,其中如果有什么我說錯的地方希望能評論或者私信我,不勝感激!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容