1、端口轉發概述
SSH會自動加密和解密所有SSH客戶端與服務端之間的網絡數據。同時,SSH還提供了一個非常有用的功能,這就是端口轉發。它能夠將其他TCP端口的網絡數據通過SSH鏈接來轉發,并且自動提供了相應的加密及解密服務。這一過程有時也被叫做“隧道”(tunneling),這是因為SSH為其他TCP鏈接提供了一個安全的通道來進行傳輸而得名。例如,Telnet、SMTP、LDAP這些TCP應用均能夠從中得益,避免了用戶名、密碼以及隱私信息的明文傳輸。而與此同時,如果您工作環境中的防火墻限制了一些網絡端口的使用,但是允許SSH的連接,那么也是能夠通過將 TCP 端口轉發來使用 SSH 進行通訊。
總的來說 SSH 端口轉發能夠提供兩大功能:
加密 SSH Client 端至 SSH Server 端之間的通訊數據。
突破防火墻的限制完成一些之前無法建立的 TCP 連接。
使用端口轉發之后,A主機與B主機之間的TCP通信不會直接進行,而是會轉到SSH客戶端和服務來進行通訊,這樣在實現了數據加密的同時也繞過了防火墻的限制。
2、本地轉發和遠程轉發
2.1本地端口轉發
命令:ssh -L localport:remotehost:port sshsrv
說明:
localport:本機開啟的端口號
remotehost:最終通訊的機器IP
port:最終通訊的機器端口號
sshsrv:轉發機器的IP
選項:
-f:后臺啟用
-N:不打開遠程shell,處于等待狀態
-g:啟用網關功能
實例1.實現SSH本地端口轉發
公司內部通信方式為telnet(23端口),且不允許外網直接訪問;公司內部有臺SSH服務器,且公司人員出差在外想要鏈接公司內網進行通信。
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/99160