可以將遠端服務器一個端口remote_port綁定到本地端口port,其中-C是進行數(shù)據(jù)壓縮,-f是后臺操作,只有當提示用 戶名密碼的時候才轉向前臺。-N是不執(zhí)行遠端命令,在只是端口轉發(fā)時這條命令很有用處。-g 是允許遠端主機連接本地轉發(fā)端口。-R表明是將遠端主機端口映射到本地端口。如果是-L,則是將本地端口映射到遠端主機端口。
ssh的三個強大的端口轉發(fā)命令:
轉發(fā)到遠端:ssh -C -f -N -g -L 本地端口:目標IP:目標端口 用戶名@目標IP
轉發(fā)到本地:ssh -C -f -N -g –R 本地端口:目標IP:目標端口 用戶名@目標IP
-C:壓縮數(shù)據(jù)傳輸。
-f :后臺認證用戶/密碼,通常和-N連用,不用登錄到遠程主機。
-N :不執(zhí)行腳本或命令,通常與-f連用。
-g :在-L/-R/-D參數(shù)中,允許遠程主機連接到建立的轉發(fā)的端口,如果不加這個參數(shù),只允許本地主機建立連接。
-L 本地端口:目標IP:目標端口
將 本地機(客戶機)的某個端口轉發(fā)到遠端指定機器的指定端口. 工作原理是這樣的, 本地機器上分配了一個 socket 偵聽 port 端口, 一旦這個端口上有了連接, 該連接就經(jīng)過安全通道轉發(fā)出去, 同時遠程主機和 host 的 hostport 端口建立連接. 可以在配置文件中指定端口的轉發(fā). 只有 root 才能轉發(fā)特權端口. IPv6 地址用另一種格式說明: port/host/hostport
-R本地端口:目標IP:目標端口
將 遠程主機(服務器)的某個端口轉發(fā)到本地端指定機器的指定端口. 工作原理是這樣的, 遠程主機上分配了一個 socket 偵聽 port 端口, 一旦這個端口上有了連接, 該連接就經(jīng)過安全通道轉向出去, 同時本地主機和 host 的 hostport 端口建立連接. 可以在配置文件中指定端口的轉發(fā). 只有用 root 登錄遠程主機才能轉發(fā)特權端口. IPv6 地址用另一種格式說明: port/host/hostport
-p :被登錄的ssd服務器的sshd服務端口。
-D port
指 定一個本地機器 “動態(tài)的'’ 應用程序端口轉發(fā). 工作原理是這樣的, 本地機器上分配了一個 socket 偵聽 port 端口, 一旦這個端口上有了連接, 該連接就經(jīng)過安全通道轉發(fā)出去, 根據(jù)應用程序的協(xié)議可以判斷出遠程主機將和哪里連接. 目前支持 SOCKS4 協(xié)議, 將充當 SOCKS4 服務器. 只有 root 才能轉發(fā)特權端口. 可以在配置文件中指定動態(tài)端口的轉發(fā). >
應用舉例
1.將發(fā)往本機的80端口訪問轉發(fā)到174.139.9.66的8080端口
2.講發(fā)往174.139.9.66的8080訪問轉發(fā)到本機的80端口