在 CentOS 系统中,使用 SSH 端口转发(SSH Tunneling)可以让你通过一个安全的 SSH 连接来访问其他网络服务。端口转发分为本地端口转发(Local Port Forwarding)、远程端口转发(Remote Port Forwarding)和动态端口转发(Dynamic Port Forwarding)。下面是如何设置这些端口转发的方法:
1. 本地端口转发(Local Port Forwarding)
本地端口转发允许你将本地机器上的一个端口转发到远程服务器上的一个端口。
命令格式:
ssh -L local_port:destination_host:destination_port user@ssh_server
示例:
假设你想将本地机器的端口 8080 转发到远程服务器 example.com 的端口 80:
ssh -L 8080:example.com:80 user@ssh_server
在这个例子中,当你在本地机器上访问 localhost:8080 时,流量会被转发到 ssh_server,然后 ssh_server 会将流量转发到 example.com:80。
2. 远程端口转发(Remote Port Forwarding)
远程端口转发允许你将远程服务器上的一个端口转发到本地机器上的一个端口。
命令格式:
ssh -R remote_port:destination_host:destination_port user@ssh_server
示例:
假设你想将远程服务器 ssh_server 上的端口 9090 转发到本地机器的端口 9090:
ssh -R 9090:localhost:9090 user@ssh_server
在这个例子中,当你在远程服务器上访问 localhost:9090 时,流量会被转发到 ssh_server,然后 ssh_server 会将流量转发到本地机器的 localhost:9090。
3. 动态端口转发(Dynamic Port Forwarding)
动态端口转发允许你将本地机器上的一个端口转发到一个 SOCKS 代理服务器。
命令格式:
ssh -D local_port user@ssh_server
示例: 假设你想将本地机器的端口 1080 转发到一个 SOCKS 代理服务器:
ssh -D 1080 user@ssh_server
在这个例子中,当你在本地机器上配置应用程序使用 SOCKS 代理时,可以设置为 localhost:1080。
注意事项
- 权限:确保你有权限访问
ssh_server和目标主机。 - 防火墙:确保目标主机和中间服务器的防火墙允许相应的端口通信。
- SSH 配置文件:你可以将上述命令添加到
~/.ssh/config文件中,以便更方便地使用。
示例 ~/.ssh/config 配置:
Host example
HostName example.com
User user
LocalForward 8080 example.com:80
RemoteForward 9090 localhost:9090
通过这些配置,你可以简化 SSH 端口转发的命令。
希望这些信息对你有所帮助!如果有任何问题,请随时提问。
以上就是关于“CentOS SSH如何使用端口转发”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm