You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过GCP服务器与SSH隧道暴露树莓派上的Jupyter与Flask API服务

问题根因

你遇到的问题由三个常见配置错误导致:

  1. SSH服务默认限制反向隧道端口仅绑定服务器本地回环地址(127.0.0.1),无法被公网直接访问
  2. GCP防火墙开放的是UDP端口,但SSH隧道走TCP协议,端口规则不匹配
  3. 树莓派的反向隧道命令写错了Jupyter端口,多写了一个8导致映射错误

修复步骤

1. 调整GCP防火墙规则

删除原有7003、7004的UDP入站规则,新增对应端口的TCP入站规则,允许来源IP访问(如果追求安全可以仅允许你常用的公网IP段,无需开放0.0.0.0/0)。

2. 修改GCP服务器SSH配置

登录GCP服务器,编辑SSH配置文件:

sudo nano /etc/ssh/sshd_config

找到GatewayPorts参数,取消注释并修改为:

GatewayPorts yes

保存退出后重启SSH服务使配置生效:

sudo systemctl restart sshd

该配置允许反向隧道端口绑定到服务器的公网网卡,对外提供访问。

3. 修正树莓派的反向隧道命令

替换你原来的隧道命令,修正端口错误并显式指定绑定所有网卡:

ssh -NR 0.0.0.0:7003:localhost:5000 -R 0.0.0.0:7004:localhost:8888 user@gcp.static.ip

4. 验证访问

配置完成后,无需在本地设备建立额外隧道,直接通过以下地址访问服务:

  • Flask API:http://gcp.static.ip:7003
  • Jupyter:http://gcp.static.ip:7004

可选稳定性优化

如果遇到SSH隧道偶尔断线的问题,可以用autossh做自动重连保活,示例命令如下:

autossh -M 0 -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -NR 0.0.0.0:7003:localhost:5000 -R 0.0.0.0:7004:localhost:8888 user@gcp.static.ip

也可以将该命令配置为树莓派的systemd服务,实现开机自动启动、断线自动重启。

内容的提问来源于stack exchange,提问作者fuchini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 06:48:00