OpenClaw Gateway 默认绑定到本地回环地址(loopback),通过 SSH 隧道或 Tailscale 实现安全的远程访问——无需将 Gateway 暴露到公网。本文覆盖三种典型部署架构和完整配置方法。
核心概念
Gateway 是「Agent 的家」:它拥有会话、认证 Profile、频道连接和所有状态。你的笔记本电脑、手机等设备只是连接到 Gateway 的客户端。
安全原则:Gateway WebSocket 默认绑定到 127.0.0.1(loopback),远程访问通过 SSH 端口转发或 Tailscale 实现,永远不直接暴露到公网。
三种典型部署架构
架构 1:VPS/家庭服务器作为常驻 Gateway(推荐)
在一台持续运行的主机(VPS 或家庭服务器)上运行 Gateway,通过 Tailscale 或 SSH 从任何设备访问。
适合场景:笔记本经常休眠但需要 Agent 24/7 在线。
最佳实践:
- 保持
gateway.bind: "loopback"(不对外暴露) - 使用 Tailscale Serve 暴露 Control UI
- 或通过 SSH 隧道从任何机器访问
推荐主机:exe.dev(简单 VM)或 Hetzner(生产 VPS)
架构 2:家用台式机运行 Gateway,笔记本远程控制
笔记本不运行 Agent,而是远程连接到台式机上的 Gateway。
配置方法:
- 使用 macOS 菜单栏 App 的「Remote over SSH」模式
- App 自动管理 SSH 隧道,WebChat 和健康检查「开箱即用」
架构 3:笔记本运行 Gateway,其他设备远程连接
Gateway 在本地,但安全地暴露给其他设备:
- 其他设备通过 SSH 隧道连接到笔记本
- 或使用 Tailscale Serve 暴露 Control UI(Gateway 仍保持 loopback)
SSH 隧道配置
创建基础隧道
# 将远程 Gateway 的 WebSocket 端口转发到本地
ssh -N -L 18789:127.0.0.1:18789 user@gateway-host隧道建立后:
openclaw health和openclaw status --deep通过ws://127.0.0.1:18789访问远程 Gateway- 所有
openclaw gateway子命令正常工作
将 18789 替换为你配置的 gateway.port(或 OPENCLAW_GATEWAY_PORT)。
持久化远程目标配置
避免每次都手动指定 URL,在配置中持久化:
{
"gateway": {
"mode": "remote",
"remote": {
"url": "ws://127.0.0.1:18789",
"token": "your-token"
}
}
}认证凭据优先级
Gateway 认证遵循严格的优先级规则:
本地模式:
- 显式参数(
--token、--password) OPENCLAW_GATEWAY_TOKEN环境变量gateway.auth.token配置gateway.remote.token配置
远程模式:
- 显式参数
gateway.remote.token配置OPENCLAW_GATEWAY_TOKEN环境变量gateway.auth.token配置
⚠️ 使用 --url 参数时,CLI 不会自动回退到配置或环境变量的凭据,必须显式传入 --token 或 --password。
Tailscale 集成
Tailscale 是远程访问的最佳选择:无需手动端口转发,设备间安全通信。
允许 Tailscale 身份认证(Control UI)
{
"gateway": {
"auth": {
"allowTailscale": true
}
}
}启用后,通过 Tailscale Serve 访问 Control UI 时,使用 Tailscale 身份头部认证——���需 Token 或密码。
⚠️ 此模式假设 Gateway 主机完全受信任。如果要求所有访问都使用 Token/密码,设为 false。
注意:HTTP API 端点始终需要 Token 或密码认证,不受 Tailscale 身份认证影响。
WebChat 远程访问
WebChat 直接连接到 Gateway WebSocket(不使用独立 HTTP 端口):
# 转发端口后,WebChat 通过以下地址连接:
ws://127.0.0.1:18789macOS 用户推荐使用 App 的「Remote over SSH」模式,它会自动管理隧道并集成健康检查。
安全规则摘要
| 场景 | 推荐配置 |
|---|---|
| 最安全默认 | loopback + SSH/Tailscale Serve |
| 内网可信 | OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1(紧急用) |
| 非回环绑定 | 必须设置 auth.token 或 auth.password |
| TLS 证书固定 | gateway.remote.tlsFingerprint |
黄金法则:除非确实需要,否则始终保持 Gateway 仅绑定 loopback。
架构总结
Telegram/WhatsApp → Gateway(VPS/台式机)← SSH 隧道/Tailscale ← 你的笔记本
↓
节点工具调用(手机/其他设备)
Gateway 持有所有状态,节点只是工具执行的「外设」。一个 Gateway 实例管理所有会话、频道和 Agent 状态。
原文:Remote Access - OpenClaw | 来源:OpenClaw 官方文档