OpenClaw Gateway 默认绑定在 loopback(127.0.0.1),通过 SSH 隧道或 Tailscale 实现远程访问。
三种常见部署架构
架构 1:VPS/家庭服务器常驻 Gateway(推荐)
笔记本经常休眠,需要 Agent 7x24 运行时,将 Gateway 部署在 VPS 或家庭服务器。
- 保持
gateway.bind: "loopback"+ Tailscale Serve 访问控制台 - 任何机器通过 SSH 隧道访问
- 推荐:Hetzner VPS 或 exe.dev 轻量 VM
架构 2:家庭台式机运行 Gateway,笔记本远程控制
笔记本不运行 Agent,只是远程控制端:
- macOS App:Settings → General → "OpenClaw runs" → Remote over SSH
- App 自动管理 SSH 隧道,WebChat 开箱即用
架构 3:笔记本运行 Gateway,其他机器远程访问
其他机器通过 SSH 隧道连笔记本,或使用 Tailscale Serve。
SSH 隧道
bash
# 将远程 Gateway 的 18789 端口转发到本地
ssh -N -L 18789:127.0.0.1:18789 user@gateway-host隧道建立后,本地 CLI 透明路由到远程 Gateway:
bash
openclaw health
openclaw status --deep
openclaw gateway status持久化远程配置:
json
{
"gateway": {
"mode": "remote",
"remote": {
"url": "ws://127.0.0.1:18789",
"token": "your-gateway-token"
}
}
}Tailscale 方案
bash
# 内网暴露控制台
tailscale serve --bg --https 8443 http://127.0.0.1:18789
# 仅公开 Webhook 路径(如 Google Chat)
tailscale funnel --bg --set-path /googlechat http://127.0.0.1:18789/googlechat访问地址:https://<node-name>.<tailnet>.ts.net:8443/
Tailscale 身份认证(可选):
json
{
"gateway": {
"auth": { "allowTailscale": true }
}
}凭证优先级(远程模式)
| 场景 | Token 解析顺序 |
|---|---|
| 本地模式 | OPENCLAW_GATEWAY_TOKEN → gateway.auth.token → gateway.remote.token |
| 远程模式 | gateway.remote.token → OPENCLAW_GATEWAY_TOKEN → gateway.auth.token |
使用 --url 时不自动复用配置凭证,需显式传 --token。
命令流转(Telegram → Node)
Telegram 消息 → Gateway 接收 → Agent 决策 → 调用 Node 工具 → 回复 Telegram
安全原则
- 保持 Gateway loopback-only,通过 SSH/Tailscale 访问
- 非 loopback 绑定必须配置认证 Token
wss://连接用gateway.remote.tlsFingerprint固定 TLS 证书- 明文
ws://仅限 loopback
常用诊断命令
bash
openclaw health
openclaw status --deep
openclaw channels status --probe
openclaw gateway status --url ws://127.0.0.1:18789 --token your-token原文:Remote Access - OpenClaw | 来源:OpenClaw 官方文档