OpenClaw+Tailscale远程访问配置的完整教程

Written by

in

文章目录
  • OpenClaw 默认只监听 127.0.0.1:18789,外部设备无法直接访问。Tailscale Serve 可以将这个本地端口安全地暴露给同一 Tailnet 下的其他设备,无需端口转发、不暴露公网。 网络结构: [客户端设备] ←── Tailscale 加密隧道 ──→ [OpenClaw 主机:18789]
  • OpenClaw 主机:Linux(假设 hostname 为 openclaw-server) 客户端:一台同样安装了 Tailscale 的设备 两台设备使用同一个 Tailscale 账号(免费版即可) OpenClaw 版本:2026.3.x Tailscale 版本:1.96+
  • # 安装 Tailscale curl -fsSL https://tailscale.com/install.sh | sh # 启动并登录(会输出认证 URL) sudo systemctl enable –now tailscaled sudo tailscale up # 浏览器打开认证链接,用同一 Tailscale 账号登录 确认连接成功: tailscale status 如果看到所有设备都在列表里,说明它们已经处于同一私有网络中。
  • 编辑 ~/.openclaw/openclaw.json: { “gateway”: { “port”: 18789, “mode”: “local”, “bind”: “loopback”, “tailscale”: { “mode”: “serve” }, “auth”: { “mode”: “token”, “token”: “your-secure-token-here”, “allowTailscale”: true }, “controlUi”: { “allowInsecureAuth”: true, “allowedOrigins”: [“https://*.ts.net”] //按照给你的访问地址设置 } } } 用命令设置更方便: openclaw config set gateway.tailscale.mode serve openclaw config set gateway.controlUi.allowedOrigins ‘[“https://*.ts.net”]’ #按照给你的访问地址设置 openclaw gateway restart
  • 这是最容易踩坑的一步。OpenClaw 的 Tailscale 自动配置在当前版本存在 bug,不会自动调用 tailscale serve,必须手动执行。 sudo tailscale serve –bg http://127.0.0.1:18789 参数说明: –bg:后台运行 http://127.0.0.1:18789:Tailscale 将请求转发到本地 OpenClaw Gateway 确认运行状态: sudo tailscale serve status # 输出类似: # Available within your tailnet: # https://openclaw-server.tailxxxx.ts.net/ # |– proxy http://127.0.0.1:18789 访问地址:https://openclaw-server.tailxxxx.ts.net/(Tailscale 自动生成,固定不变)
  • 首次从客户端访问 Control UI 时,会提示 pairing required。 在 OpenClaw 主机上审批设备请求: # 查看待审批请求 openclaw devices list # 审批指定请求 openclaw devices approve <request-id> # 或直接审批最后一个请求 openclaw devices approve –last
  • 手动启动的 tailscale serve 在重启后会失效,推荐使用 crontab 开机自启: sudo crontab -e 加入一行: @reboot /usr/bin/tailscale serve –bg http://127.0.0.1:18789
  • curl https://openclaw-server.tailxxxx.ts.net/ 或在浏览器直接打开该地址即可。
  • 症状 原因 解决方案 curl: (7) Failed to connect Tailscale Serve 未启动 sudo tailscale serve –bg http://127.0.0.1:18789 No serve config 参数不正确 确认用的是 –bg,不是 –https 443 origin not allowed 跨域被拦截 设置 gateway.controlUi.allowedOrigins pairing required 设备未授权 openclaw devices approve <id> 找不到域名 MagicDNS 未启用 确认 Tailscale 账号开启了 MagicDNS
  • 不要使用 gateway.auth.mode: "none" + tailscale.mode: "serve",这会将 Gateway 无密码暴露给整个 Tailnet 不要轻易使用 Funnel 模式(公网暴露),除非你完全理解其风险并配置了强密码 务必保留 token 认证:gateway.auth.mode: "token" 不要关闭 Tailscale Serve 模式只暴露给同一 Tailnet 内的设备,对公网不可见,安全性较高
  • 两台设备安装 Tailscale 并登录同一账号 tailscale status 确认设备互联 gateway.tailscale.mode: "serve" 已写入配置 gateway.controlUi.allowedOrigins 已设置 openclaw gateway restart 已执行 sudo tailscale serve –bg http://127.0.0.1:18789 已执行 sudo tailscale serve status 确认 URL 可用 客户端访问测试 配对审批(如需要) crontab 开机自启 以上就是OpenClaw+Tailscale远程访问配置的完整教程的详细内容,更多关于OpenClaw+Tailscale远程访问配置的资料请关注风君子博客其它相关文章!
  • 目录
    • 背景
    • 环境
    • 第一步:OpenClaw 主机安装并登录 Tailscale
    • 第二步:配置 OpenClaw Gateway
    • 第三步:启动 Tailscale Serve(关键步骤)
    • 第四步:客户端配对
    • 第五步:设置开机自启
    • 第六步:从客户端访问
    • 常见问题排查
    • 安全建议
    • 配置 Checklist

    OpenClaw 默认只监听 127.0.0.1:18789,外部设备无法直接访问。Tailscale Serve 可以将这个本地端口安全地暴露给同一 Tailnet 下的其他设备,无需端口转发、不暴露公网。

    网络结构:

    [客户端设备] ←── Tailscale 加密隧道 ──→ [OpenClaw 主机:18789]

    • OpenClaw 主机:Linux(假设 hostname 为 openclaw-server
    • 客户端:一台同样安装了 Tailscale 的设备
    • 两台设备使用同一个 Tailscale 账号(免费版即可)
    • OpenClaw 版本:2026.3.x
    • Tailscale 版本:1.96+

    OpenClaw+Tailscale远程访问配置

    # 安装 Tailscale
    curl -fsSL https://tailscale.com/install.sh | sh
    
    # 启动并登录(会输出认证 URL)
    sudo systemctl enable --now tailscaled
    sudo tailscale up
    
    # 浏览器打开认证链接,用同一 Tailscale 账号登录
    

    确认连接成功:

    tailscale status
    

    如果看到所有设备都在列表里,说明它们已经处于同一私有网络中。

    编辑 ~/.openclaw/openclaw.json

    {
      "gateway": {
        "port": 18789,
        "mode": "local",
        "bind": "loopback",
        "tailscale": {
          "mode": "serve"
        },
        "auth": {
          "mode": "token",
          "token": "your-secure-token-here",
          "allowTailscale": true
        },
        "controlUi": {
          "allowInsecureAuth": true,
          "allowedOrigins": ["https://*.ts.net"]  //按照给你的访问地址设置
        }
      }
    }

    用命令设置更方便:

    openclaw config set gateway.tailscale.mode serve
    openclaw config set gateway.controlUi.allowedOrigins '["https://*.ts.net"]'  #按照给你的访问地址设置
    openclaw gateway restart
    

    这是最容易踩坑的一步。OpenClaw 的 Tailscale 自动配置在当前版本存在 bug,不会自动调用 tailscale serve必须手动执行

    sudo tailscale serve --bg http://127.0.0.1:18789
    

    参数说明:

    • --bg:后台运行
    • http://127.0.0.1:18789:Tailscale 将请求转发到本地 OpenClaw Gateway

    确认运行状态:

    sudo tailscale serve status
    # 输出类似:
    # Available within your tailnet:
    # https://openclaw-server.tailxxxx.ts.net/
    # |-- proxy http://127.0.0.1:18789
    

    访问地址https://openclaw-server.tailxxxx.ts.net/(Tailscale 自动生成,固定不变)

    首次从客户端访问 Control UI 时,会提示 pairing required

    在 OpenClaw 主机上审批设备请求:

    # 查看待审批请求
    openclaw devices list
    
    # 审批指定请求
    openclaw devices approve <request-id>
    
    # 或直接审批最后一个请求
    openclaw devices approve --last
    

    手动启动的 tailscale serve 在重启后会失效,推荐使用 crontab 开机自启:

    sudo crontab -e
    

    加入一行:

    @reboot /usr/bin/tailscale serve --bg http://127.0.0.1:18789
    

    curl https://openclaw-server.tailxxxx.ts.net/
    

    或在浏览器直接打开该地址即可。

    症状 原因 解决方案
    curl: (7) Failed to connect Tailscale Serve 未启动 sudo tailscale serve --bg http://127.0.0.1:18789
    No serve config 参数不正确 确认用的是 --bg,不是 --https 443
    origin not allowed 跨域被拦截 设置 gateway.controlUi.allowedOrigins
    pairing required 设备未授权 openclaw devices approve <id>
    找不到域名 MagicDNS 未启用 确认 Tailscale 账号开启了 MagicDNS

    • 不要使用 gateway.auth.mode: "none" + tailscale.mode: "serve",这会将 Gateway 无密码暴露给整个 Tailnet
    • 不要轻易使用 Funnel 模式(公网暴露),除非你完全理解其风险并配置了强密码
    • 务必保留 token 认证gateway.auth.mode: "token" 不要关闭
    • Tailscale Serve 模式只暴露给同一 Tailnet 内的设备,对公网不可见,安全性较高

    • 两台设备安装 Tailscale 并登录同一账号
    • tailscale status 确认设备互联
    • gateway.tailscale.mode: "serve" 已写入配置
    • gateway.controlUi.allowedOrigins 已设置
    • openclaw gateway restart 已执行
    • sudo tailscale serve --bg http://127.0.0.1:18789 已执行
    • sudo tailscale serve status 确认 URL 可用
    • 客户端访问测试
    • 配对审批(如需要)
    • crontab 开机自启

    以上就是OpenClaw+Tailscale远程访问配置的完整教程的详细内容,更多关于OpenClaw+Tailscale远程访问配置的资料请关注风君子博客其它相关文章!

    站内搜索