ssh客戶端通過挖隧道方式直接在本機通過中轉伺服器,直接訪問不能直達的伺服器
由於我們的伺服器在中國移動的機房,有一個外網地址與之對應,原來可以直接通過ssh客戶端直接連線登入上進行操作,但由於最近因為安全問題,對訪問伺服器加了限制,只允許指定的某個ip通地ssh訪問伺服器;這樣我們只能提供我們做整合測試的一個阿里雲伺服器的ip;這樣的話,所有對位於移動機房中的伺服器的上傳檔案和ssh操作,均需要先上傳或登入至阿里雲,然後再通過阿里雲進行跳轉;非常的不方便。為了像原來一樣方便地上傳檔案和登入伺服器;這樣使用了ssh挖隧道的功能。
這裡我使用的ssh客戶端工具為secureCRT;
對應的阿里雲的IP為:123.**.***.78 ssh的埠為9898
對應的移動機房的IP為:218.***.**.242 ssh的埠為12580
1.使用ssh命令建立隧道
(1)ssh -p 9898 -L 11125:218.***.**.242:12580 fan****@123.**.***.78 (該命令可以在macOS的終端介面執行)
這樣就在本機上建立了一個11125的埠隧道,建立完隧道後,不要關閉該終端頁面;
登入名和密碼使用阿里雲伺服器(.78)的使用者名稱和密碼。
(2)然後再通過ssh客戶端連線至本機的11125埠,使用者名稱和密碼使用移動機房伺服器(.242)上的使用者名稱和密碼;
即相當於直連至移動機房的伺服器了;
2.使用secureCRT客戶端建立隧道
(1)在ssh2介面配置hostname和埠及使用者名稱為阿里雲伺服器的資訊;
(2)在Port Forwarding介面配置本機的埠及遠端移動機房伺服器的ip及埠
(3)配置完成後,完成使用阿里雲伺服器的使用者名稱和密碼完成登入,這樣隧道即建立成功,該頁面不能關閉;
(4)繼續建立一個新的連線至機器127.0.0.1埠11125的ssh連線,登入使用者名稱和密碼使用移動機房伺服器的使用者名稱和密碼,即可登入成功,並且所有的操作均是對.242進行操作;
(5)連線11125埠成功後,這時我們在阿里雲(.78)的伺服器上使用ss命令即可檢視到對應的隧道資訊: