1. 程式人生 > >ssh隧道 學習總結

ssh隧道 學習總結

nag 實驗環境 ssh 遠程 本地 機器 原理 火墻 ssh連接 mage

SSH本地端口轉發
個人理解就是端口轉發,將TCP端口的網絡數據通過ssh連接轉發。並提供相應的加密和解密服務。主要用於目標服務器
因防火墻或者別的原因無法直接訪問,只能由於同一個局域網內的機器訪問,這個時候就需要端口轉發了!
原理
主機A要訪問主機C,但是應為防火墻無法訪問,這個時候我們鏈接內部的B服務器,通過B鏈接C服務器,B就是一個跳板機
本地端口轉發(實驗環境)
A主機 192.168.4.7
B主機 192.168.4.72
C主機 192.168.4.189
技術分享圖片

ssh -L 2222:192.168.4.109:22 -Nf 192.168.4.72
 ![](http://i2.51cto.com/images/blog/201810/28/09216cc6ef1e7f03e6f1bc3f60e2fd60.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
-L 本地端口(建議大於2000)
-f 後臺啟用
-N 不打開遠程shell 處於遠程等待狀態
192.168.4.9:22 不一定是22端口,看需求可以是任何端口
ps -aux |grep ssh  (可以查看有沒有設置成功)

技術分享圖片
ssh –p2222 127.00.1 這時已經成功登陸了 可以 ip 查看IP地址 成功登陸
技術分享圖片

ssh 遠程端口轉發
遠端端口轉發(假設實驗環境)
A主機 192.168.4.130 (家裏)
B主機 192.168.4.72 (公司)
C主機 192.168.4.189 (公網)

原理,主機A已經能訪問到主機C了,但是想讓主機C訪問主機A咋辦吶?這個時候就需要遠程SSH隧道了, 由於公司內部的和自己家裏的電腦不在一個網段內無法通信,這個時候端口轉發就不能放在本地了,要放在遠端的機器上!
命令:ssh -Nf -R 9906:localhost:22 192.168.4.189 //如果沒有公鑰189的公鑰這裏要輸密碼

技術分享圖片
在189主機上查看監聽的端口啟動沒有

技術分享圖片

在189主機上面已經開了監聽端口,連接189主機的9906端口就會被轉到家裏的的130的主機上面
技術分享圖片

ssh隧道 學習總結