在CentOS系统中,设置SSH端口转发(也称为SSH隧道)可以通过多种方式实现,包括本地端口转发、远程端口转发和动态端口转发。以下是详细的设置方法:
本地端口转发允许你将本地机器的一个端口转发到远程服务器上的一个端口。
ssh -L local_port:destination_host:destination_port user@ssh_server
假设你想将本地的端口8080转发到远程服务器example.com的端口80:
ssh -L 8080:example.com:80 user@ssh_server
远程端口转发允许你将远程服务器上的一个端口转发到本地机器上的一个端口。
ssh -R remote_port:destination_host:destination_port user@ssh_server
假设你想将远程服务器example.com的端口9090转发到本地机器的端口9090:
ssh -R 9090:localhost:9090 user@ssh_server
动态端口转发允许你创建一个SOCKS代理,通过这个代理你可以将所有流量通过SSH隧道传输。
ssh -D local_port user@ssh_server
假设你想创建一个本地的SOCKS代理,监听端口1080:
ssh -D 1080 user@ssh_server
为了使端口转发生效,你可能需要在SSH服务器上进行一些配置。
编辑SSH服务器配置文件 /etc/ssh/sshd_config:
sudo vi /etc/ssh/sshd_config
确保以下配置项存在并且没有被注释掉:
AllowTcpForwarding yes
GatewayPorts yes
保存并退出编辑器,然后重启SSH服务:
sudo systemctl restart sshd
-N 选项可以在不执行远程命令的情况下保持SSH连接,适用于端口转发:ssh -N -L 8080:example.com:80 user@ssh_server
通过以上步骤,你应该能够在CentOS系统上成功设置SSH端口转发。