在 CentOS 系統中,使用 SSH 轉發端口(也稱為 SSH 隧道)可以讓你通過一個安全的 SSH 連接來訪問其他服務器上的服務。SSH 端口轉發有三種類型:本地端口轉發、遠程端口轉發和動態端口轉發。
本地端口轉發允許你將本地機器上的一個端口轉發到遠程服務器上的一個端口。例如,你可以將本地的端口 8080 轉發到遠程服務器的端口 80。
ssh -L local_port:destination_host:destination_port user@ssh_server
例如:
ssh -L 8080:www.example.com:80 user@ssh_server
這會將本地機器的 8080 端口轉發到 www.example.com 的 80 端口。
遠程端口轉發允許你將遠程服務器上的一個端口轉發到本地機器上的一個端口。例如,你可以將遠程服務器的端口 8080 轉發到本地機器的 80 端口。
ssh -R remote_port:destination_host:destination_port user@ssh_server
例如:
ssh -R 8080:localhost:80 user@ssh_server
這會將遠程服務器的 8080 端口轉發到本地機器的 80 端口。
動態端口轉發允許你將本地機器的一個端口轉發到一個 SOCKS 代理服務器。這對于繞過防火墻或其他網絡限制非常有用。
ssh -D local_port user@ssh_server
例如:
ssh -D 1080 user@ssh_server
這會將本地機器的 1080 端口設置為一個 SOCKS 代理服務器。
假設你有一個遠程服務器 ssh_server,用戶名為 user,你想將本地機器的端口 8080 轉發到遠程服務器的端口 80:
ssh -L 8080:localhost:80 user@ssh_server
然后,你可以在本地機器上訪問 http://localhost:8080,實際上是通過 SSH 隧道訪問了遠程服務器的端口 80。
通過這些方法,你可以在 CentOS 系統中輕松地進行 SSH 端口轉發。