歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux服務器 >> 在Linux系統下使用SSH實現端口映射的方法

在Linux系統下使用SSH實現端口映射的方法

日期:2017/3/2 16:31:05   编辑:Linux服務器

  可以將遠端服務器一個端口remote_port綁定到本地端口port,其中-C是進行數據壓縮,-f是後台操作,只有當提示用 戶名密碼的時候才轉向前台。-N是不執行遠端命令,在只是端口轉發時這條命令很有用處。-g 是允許遠端主機連接本地轉發端口。-R表明是將遠端主機端口映射到本地端口。如果是-L,則是將本地端口映射到遠端主機端口。

  ssh的三個強大的端口轉發命令:

  轉發到遠端:ssh -C -f -N -g -L 本地端口:目標IP:目標端口 用戶名@目標IP

  轉發到本地:ssh -C -f -N -g –R 本地端口:目標IP:目標端口 用戶名@目標IP

  代碼如下:

  ssh -C -f -N -g -D listen_port user@Tunnel_Host

  -C:壓縮數據傳輸。

  -f :後台認證用戶/密碼,通常和-N連用,不用登錄到遠程主機。

  -N :不執行腳本或命令,通常與-f連用。

  -g :在-L/-R/-D參數中,允許遠程主機連接到建立的轉發的端口,如果不加這個參數,只允許本地主機建立連接。

  -L 本地端口:目標IP:目標端口

  將 本地機(客戶機)的某個端口轉發到遠端指定機器的指定端口. 工作原理是這樣的, 本地機器上分配了一個 socket 偵聽 port 端口, 一旦這個端口上有了連接, 該連接就經過安全通道轉發出去, 同時遠程主機和 host 的 hostport 端口建立連接. 可以在配置文件中指定端口的轉發. 只有 root 才能轉發特權端口. IPv6 地址用另一種格式說明: port/host/hostport

  -R本地端口:目標IP:目標端口

  將 遠程主機(服務器)的某個端口轉發到本地端指定機器的指定端口. 工作原理是這樣的, 遠程主機上分配了一個 socket 偵聽 port 端口, 一旦這個端口上有了連接, 該連接就經過安全通道轉向出去, 同時本地主機和 host 的 hostport 端口建立連接. 可以在配置文件中指定端口的轉發. 只有用 root 登錄遠程主機才能轉發特權端口. IPv6 地址用另一種格式說明: port/host/hostport

  -p :被登錄的ssd服務器的sshd服務端口。

  -D port

  指 定一個本地機器 “動態的'’ 應用程序端口轉發. 工作原理是這樣的, 本地機器上分配了一個 socket 偵聽 port 端口, 一旦這個端口上有了連接, 該連接就經過安全通道轉發出去, 根據應用程序的協議可以判斷出遠程主機將和哪裡連接. 目前支持 SOCKS4 協議, 將充當 SOCKS4 服務器. 只有 root 才能轉發特權端口. 可以在配置文件中指定動態端口的轉發. >

  應用舉例

  1.將發往本機的80端口訪問轉發到174.139.9.66的8080端口

  代碼如下:

  ssh -C -f -N -g -L 80:174.139.9.66:8080 [email protected]

  2.講發往174.139.9.66的8080訪問轉發到本機的80端口

  代碼如下:

  ssh -C -f -N -g -R 80:174.139.9.66:8080 [email protected]

Copyright © Linux教程網 All Rights Reserved