在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隧道。根据你的需求选择合适的端口转发方式。