Tailscale 与远程访问示意图

OpenClaw 跑在 VPS 上之后,下一个真实问题通常不是模型能力,而是:你怎么从公司电脑、家里电脑、安卓手机上稳定访问它。如果每次都要本地 SSH 端口转发,能用,但不够顺手;如果直接裸露公网,又容易把控制面板暴露过头。

这一篇讲的就是远程访问的第三阶段:如何用 Tailscale 把 OpenClaw 变成跨设备可用、但又不直接裸奔公网的个人控制台

先给一个实践建议

如果你只是自己一个人跨电脑和手机使用,不要一上来就做公网暴露。先把 Tailscale 跑通,再决定要不要把管理入口做成更公开的形态。大部分个人使用场景里,Tailscale 已经足够顺手,而且风险更低

一、为什么 Tailscale 比直接开公网更适合个人场景

如果你的需求是“我自己在多台设备上用”,那 Tailscale 通常比公网反代更合适,原因有三个:

  • 设备只在 tailnet 内互通,不是直接向公网开放
  • 手机、公司电脑、个人电脑都能接入同一张私有网络
  • 不需要每次都手动 SSH 隧道

它的本质不是“远程桌面工具”,而是给你的设备之间建一层稳定、私有的加密网络。

二、一个常见误区:不要执着于 tailnet IP + HTTP

很多人一开始会这么想:

http://100.x.x.x:18789

这在某些简单服务上能跑,但放到 OpenClaw Control UI 上,经常会踩中两个坑:

  • origin not allowed
  • pairing required 后续没配好

原因很简单:Control UI 不只是一个静态网页,它还有 WebSocket、来源校验、设备配对和认证逻辑。单纯靠 tailnet IP 直连,并不总是最稳的做法。

三、更稳的方案:loopback + allowTailscale + Tailscale Serve

在个人环境里,更推荐这套组合:

  • gateway.bind = loopback
  • gateway.auth.allowTailscale = true
  • gateway.controlUi.allowedOrigins = ["https://<真实MagicDNS>"]
  • tailscale serve --bg http://127.0.0.1:18789 挂出 tailnet-only HTTPS 入口

这样做的好处是:Gateway 本身仍然只听本机,真正对外呈现的入口交给 Tailscale Serve。访问体验更像“有一个私有 HTTPS 控制台”,而不是“记一个很丑的内网 IP”。

四、为什么一定要用真实 MagicDNS,而不是占位符

这一步很容易犯低级错误。配置 allowedOrigins 时,必须用真实的 MagicDNS 域名,而不是教程里示例写法。

正确做法通常是从:

tailscale status --json

里读取:

Self.DNSName

然后把它写成:

"https://dufresnevps.tail408683.ts.net"

如果你把 YOURMAGIC.ts.net 这种占位符原样填进去,后面 WebSocket 校验一定会出问题。

五、首次访问时的 pairing 到底是什么

当你第一次从某个浏览器或设备访问 Control UI 时,可能会看到:

pairing required

这不是坏事,说明入口、来源校验和 Gateway 通信其实已经基本通了,只是还差一步设备授权。

你需要做的是:

  1. 在设备上打开 Control UI
  2. 让 Gateway 产生一个 pending pairing request
  3. 在 VPS 上批准这个设备

一旦批准,以后这个设备再访问就会顺很多。

六、电脑和手机的实际使用方式

电脑

  • 确保 Tailscale 已连接
  • 直接浏览器打开 MagicDNS HTTPS 地址
  • 首次配对后,后续基本就是直接打开即用

安卓手机

  • 打开 Tailscale App,确认已 Connected
  • 浏览器打开同一个 MagicDNS 地址
  • 如果遇到旧缓存导致的异常,优先用无痕模式测试

手机端体验不一定会像桌面那样完美,但比每次临时开 SSH 隧道已经顺得多。

六点五、实际落地时最容易踩的坑

  • 把占位符域名直接写进 allowedOrigins
  • 误以为 tailnet IP + HTTP 一定就是正确路径
  • Serve 已经通了,但 pairing 没批准
  • 浏览器缓存住旧状态,导致误判配置没生效
  • 只测电脑端,不测手机端的实际体验

七、这一阶段最关键的结果是什么

不是“页面能打开”这么简单,而是这三件事都成立:

  • 你能从多设备稳定进入 Control UI
  • Gateway 本身仍保持较小暴露面
  • 配对和认证机制已经真正跑通

做到这一步后,OpenClaw 就不再是“只能在你自己电脑上 SSH 进来才用得了”的工具,而是真的变成你的跨设备技术控制台。

上一篇 OpenClaw 接入实战(二):权限设计、目录授权与“尽量少问就把活干完” 专题导读 查看 OpenClaw 接入专题总览与阅读顺序