在CentOS系統上搭建SSH隧道(SSH Tunneling)可以通過多種方式實現,包括使用ssh
命令的本地端口轉發、遠程端口轉發和動態端口轉發功能。以下是詳細的步驟指南:
本地端口轉發允許你將本地機器上的一個端口轉發到遠程服務器上的一個端口。
ssh -L local_port:destination_host:destination_port user@ssh_server
local_port
:本地機器上要轉發的端口號。destination_host
:目標服務器的主機名或IP地址。destination_port
:目標服務器上的端口號。user
:SSH服務器的用戶名。ssh_server
:SSH服務器的主機名或IP地址。假設你想將本地機器的端口8080轉發到遠程服務器example.com
的端口80:
ssh -L 8080:example.com:80 user@ssh_server
遠程端口轉發允許你將遠程服務器上的一個端口轉發到本地機器上的一個端口。
ssh -R remote_port:destination_host:destination_port user@ssh_server
remote_port
:遠程服務器上要轉發的端口號。destination_host
:目標服務器的主機名或IP地址。destination_port
:目標服務器上的端口號。user
:SSH服務器的用戶名。ssh_server
:SSH服務器的主機名或IP地址。假設你想將遠程服務器ssh_server
的端口9090轉發到本地機器的端口9090:
ssh -R 9090:localhost:9090 user@ssh_server
動態端口轉發允許你創建一個SOCKS代理,通過SSH隧道進行所有網絡流量。
ssh -D local_port user@ssh_server
local_port
:本地機器上要使用的端口號。user
:SSH服務器的用戶名。ssh_server
:SSH服務器的主機名或IP地址。假設你想在本地機器上使用端口1080作為SOCKS代理:
ssh -D 1080 user@ssh_server
/etc/ssh/sshd_config
文件中檢查并設置以下選項:AllowTcpForwarding yes
GatewayPorts yes
sudo systemctl restart sshd
通過以上步驟,你可以在CentOS系統上成功搭建SSH隧道。根據你的需求選擇合適的端口轉發方式。