Ubuntu虚拟服务器端口转发至SSH反向代理主机的配置需求
嘿,我之前刚好折腾过几乎一模一样的端口转发场景,给你一步步理清楚怎么把剩下的配置补全:
完成端口转发的完整配置步骤
首先先核对下你在目标主机上用Putty配置的远程转发是否正确(你提到已经配了1802端口,这里再确认细节):
- 打开Putty的「SSH → 隧道」面板
- 「源端口」填
1802,「目标」填localhost:你的应用端口(比如你的应用在目标主机上监听8080,就填localhost:8080) - 选中「远程」选项,点击「添加」,然后保存会话并连接到Ubuntu虚拟服务器
接下来的关键是让Ubuntu虚拟服务器允许外部客户端连接到这个转发的1802端口,默认OpenSSH是限制本地访问的:
1. 修改SSH服务器配置
编辑Ubuntu上的SSH配置文件:
sudo nano /etc/ssh/sshd_config
找到GatewayPorts这一行,把它改成:
GatewayPorts yes
(如果想更安全,也可以设为GatewayPorts clientspecified,这样只有你在Putty里明确指定允许外部访问的端口才生效,但yes配置起来更简单直接)
保存文件后,重启SSH服务让配置生效:
sudo systemctl restart sshd
2. 开放防火墙端口
确保Ubuntu虚拟服务器的防火墙允许1802端口的入站流量,如果你用的是ufw(Ubuntu默认防火墙),执行:
sudo ufw allow 1802/tcp
如果用的是iptables或者其他防火墙工具,对应添加入站规则即可。
3. 验证整个链路是否通畅
现在在客户端A上测试连接:
# 用curl测试应用是否返回响应 curl x.x.x.x:1802 # 或者用telnet检查端口是否能连通 telnet x.x.x.x 1802
如果能得到目标主机上应用的正常响应,就说明整个转发链路已经正常工作了!
可选进阶:保持SSH连接稳定
如果Putty的连接意外断开,端口转发就会失效。你可以在目标主机上用autossh替代Putty来维持稳定的反向SSH连接,甚至可以把它配置成系统服务开机自启,不过这属于优化项,先确保基础配置正常后再考虑也不迟。
内容的提问来源于stack exchange,提问作者Johannes
相关产品推荐
相关产品推荐

