歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> 學習Linux >> SSH 內網端口轉發實戰

SSH 內網端口轉發實戰

日期:2017/3/6 9:47:55   编辑:學習Linux

SSH 內網端口轉發實戰


SSH 內網端口轉發實戰


導讀大家都知道SSH是一種安全的傳輸協議,用在連接服務器上比較多。不過其實除了這個功能,它的隧道轉發功能更是吸引人。

如果兩個內網之間的linux服務器需要互相登錄,或需要互相訪問內網某個端口,擔憂沒有公網IP,可以使用的方法有ngrok(https://ngrok.com/),但並不方便,我們只需兩條 SSH 命令即可。
SSH_Communications_Security_logo.svg

先給出本文主角,兩條SSH命令:
遠程端口轉發(由遠程服務器某個端口轉發到本地內網服務器端口)ssh   -CfNg  -R(命令行的關鍵)   2222(遠程服務器端口):127.0.0.1:22(本地端口)   123.45.67.8(遠程服務器) 
本地端口轉發(由本地內網服務器某個端口轉發到遠程服務器端口)ssh   -CfNg  -L(命令行的關鍵)    2222(遠程服務器端口):0.0.0.0:4444(本地端口)   123.45.67.8(遠程服務器) 
命令行選項解釋:
-C:壓縮數據傳輸。-f :後台認證用戶/密碼,通常和-N連用,不用登錄到遠程主機。-N :不執行腳本或命令,通常與-f連用。-g :在-L/-R/-D參數中,允許遠程主機連接到建立的轉發的端口,如果不加這個參數,只允許本地主機建立連接。-L 本地端口:目標IP:目標端口-T 不分配 TTY 只做代理用-q 安靜模式,不輸出 錯誤/警告 信息

需要讓遠程機器能訪問的內部機器的端口號(端口:22)

在清楚了上面的參數後,我們使用下面的命令來建立一個遠程SSH隧道,在內網主機執行

ssh   -CfNg -R 2222:127.0.0.1:22  123.45.67.8

現在,在IP是123.45.67.8的機器上我們用下面的命令就可以登陸內網IP為192.168.0.100的機器了。

ssh -p 2222 localhost

現在公網ip的 123.45.67.8 主機可以本地訪問內網服務端了,那內網客戶端要怎麼登陸呢?,我們只需要把內網客戶端的 4444 端口映射到 123.45.67.8 的 2222端口即可。

現在我們需要本地轉發了。

ssh  -CfNg   -L  2222:0.0.0.0:4444   123.45.67.8

執行完後,本地的內網客戶端 4444 端口已經和 123.45.67.8 的 2222 端口連接起來,然後 123.45.67.8 的 2222 端口 又和 內網服務端的 22 端口連接起來,成為一個完整的映射鏈。

本文轉載地址:http://www.linuxprobe.com/ssh-network.html


http://xxxxxx/Linuxjc/1134227.html TechArticle

Copyright © Linux教程網 All Rights Reserved