SSH Port Forwarding 端口轉發

2021-02-02

資料來源:

https://help.ubuntu.com/community/SSH/OpenSSH/PortForwarding

https://man.openbsd.org/ssh

工作中常用的 SSH 端口轉發有三種:

  • 本地端口轉發(Local Port Forwarding);
  • 遠程端口轉發 (Remote Port Forwarding);
  • 動態端口轉發(Dynamic Port Forwarding);

本地端口轉發

本地端口轉發使你通過本地地址端口(當前設備)訪問遠程地址端口

1
ssh -L 8080:localhost:80 root@my.server # 本地訪問8080 獲取遠程計算機的localhost的80

也可以在本地地址端口,通過遠程地址(遠程SSH服務)訪問遠程地址能訪問到的服務(起到跳板作用);

1
ssh -L 8080:linux.dog:80 root@my.server # 本地訪問 8080 通過遠程計算機訪問 linux.dog

也可以多個 -L 組合使用~

遠程端口轉發

通過遠程 my.server 上的 5900 訪問本地的 1234(起到映射、端口轉發的作用)

1
ssh -R 0.0.0.0:5900:localhost:1234 root@my.server

動態端口轉發

本地開放 1080 通過遠程主機轉發(SOCKS代理😂)

1
ssh -D 1080 root@my.server

相關參數及配置

  • -f ssh 進入後臺
  • -N 不執行遠程命令
  • -T 不分配終端
  • -c 對轉發數據進行壓縮,提文本數據轉發效率(二進制會降低);

Comments: