第6课:远程访问#

为什么需要这个#

你已经在服务器上运行了 OpenClaw(第5课)。但如何从笔记本或手机管理它?如何安全地连接到另一台机器上的 Gateway?本课介绍远程访问的方法 — 从简单的 SSH 隧道到现代的 Tailscale。

安全第一原则#

让 Gateway 监听 loopback — 只让它监听 127.0.0.1(自身),通过安全隧道提供外部访问。

这意味着:Gateway 不暴露在互联网上,你通过受保护的通道连接它。

OpenClaw 网络模型#

你(笔记本)──隧道──→ 服务器(Gateway 在 127.0.0.1:18789)
                                ↕
手机(节点)──隧道──→ 同一个 Gateway
                                ↕
                           Telegram、WhatsApp、Discord...
  • 一个 Gateway — 所有流量经过的唯一节点
  • Gateway 默认监听 127.0.0.1:18789(仅本地连接)
  • 节点、CLI、应用 — 都连接到这个端口

方法1:SSH 隧道(通用)#

SSH 隧道 就像你的电脑和服务器之间的秘密地下通道。从外面看不见,但你可以通过它通信。

创建隧道#

ssh -N -L 18789:127.0.0.1:18789 user@你的服务器

参数说明:

  • -N — 不在服务器上打开终端,只建隧道
  • -L 18789:127.0.0.1:18789 — 将本地端口 18789 转发到服务器的端口 18789
  • user@你的服务器 — 连接到服务器

创建隧道后#

一切就像 Gateway 在你自己的电脑上一样:

openclaw health        # 健康检查
openclaw status --deep # 详细状态

浏览器:http://127.0.0.1:18789/ — 控制面板。

配置 CLI 的远程访问#

为了不用记住地址,写入配置:

{
  gateway: {
    mode: "remote",
    remote: {
      url: "ws://127.0.0.1:18789",
      token: "你的令牌"
    }
  }
}

方法2:Tailscale(推荐)#

Tailscale 是一个免费的 VPN 服务,在你的设备之间创建安全网络。想象所有设备连接在同一个家庭网络中,即使它们在不同的国家。

为什么 Tailscale 比 SSH 好#

SSH 隧道 Tailscale
设置 每次都要创建 设置一次就行
移动设备 困难 有 iOS/Android 应用
连接速度 即时 即时
HTTPS 需要单独配置 通过 Serve 内置

设置 Tailscale#

  1. 在服务器和笔记本上安装 Tailscale:tailscale.com
  2. 在两台设备上登录

Tailscale Serve(网络内访问)#

Tailscale Serve 让你的 Gateway 在 Tailscale 网络内通过 HTTPS 访问:

{
  gateway: {
    bind: "loopback",
    tailscale: { mode: "serve" }
  }
}

打开 https://你的服务器.tailnet/ — 带 HTTPS 的控制面板。

Tailscale Funnel(公网访问)#

如果需要从互联网访问(例如 webhook):

{
  gateway: {
    tailscale: { mode: "funnel" }
  }
}

⚠️ 使用 Funnel 时务必设置密码:

export OPENCLAW_GATEWAY_PASSWORD="强密码"

Tailscale 认证#

使用 Tailscale Serve 时,OpenClaw 可以自动信任来自你网络的连接:

{
  gateway: {
    auth: {
      allowTailscale: true  // 信任 Tailscale 连接
    }
  }
}

方法3:macOS 应用"Remote over SSH"#

如果你用 Mac,OpenClaw 应用可以自动:

  • 创建到服务器的 SSH 隧道
  • 显示 Gateway 状态
  • 打开 WebChat

设置路径:Settings → General → “OpenClaw runs” → Remote。

Gateway 网络绑定#

默认情况下,Gateway 只监听 127.0.0.1。可以更改:

bind 含义
"loopback" 仅本机(默认)
"lan" 局域网可访问
"tailnet" 通过 Tailscale 可访问
"0.0.0.0" 所有人可访问(危险!)

⚠️ 除 loopback 外的任何绑定都必须使用令牌!

openclaw gateway --bind tailnet --token 你的密钥令牌

安全规则#

  1. Loopback + 隧道 — 最安全的方式
  2. 如果 bind 不是 loopback — 必须配置 gateway.auth(令牌或密码)
  3. 永远不要在没有认证的情况下将 Gateway 暴露到互联网
  4. Tailscale Serve + allowTailscale: true — 方便又安全的折中方案
  5. 通过 Funnel 公开访问 — 使用密码

课程总结#

  • Gateway 默认只监听 localhost — 这是安全的
  • SSH 隧道 — 通用方法,到处都能用
  • Tailscale — 现代 VPN,日常使用比 SSH 更方便
  • Tailscale Serve 在你的网络内提供 HTTPS 和认证
  • 将 Gateway 暴露到网络时一定要使用令牌或密码
  • macOS 应用可以自动创建 SSH 隧道