要让 OpenClaw 通过 SSH 隧道托管浏览器,核心是通过加密通道将云端网关与本地浏览器控制节点连接,实现安全远程操控。以下是基于最新实践的完整方案,覆盖部署、配置及优化全流程:


一、架构设计(SSH 隧道方案)

云端 OpenClaw Gateway (Linux)
   │
   ▼
SSH 隧道(端口转发 18789→18789)
   │
   ▼
本地 WSL2/Windows → OpenClaw Node → 控制本地浏览器(Chrome/Edge)

关键逻辑

  • SSH 隧道:将云端网关的 18789 端口加密转发到本地,避免公网暴露
  • Node 代理:本地运行 OpenClaw Node,负责与浏览器交互(需配合 WSL2 或 Windows 原生环境)
  • 浏览器控制:通过 Playwright 或 Chromium 实现自动化操作

二、部署步骤(以 Windows + WSL2 为例)

1. 云端部署 OpenClaw Gateway
# 在云端服务器安装 OpenClaw Gateway(Debian/Ubuntu)
curl -fsSL https://openclaw.ai/install.sh | bash
openclaw gateway run --port 18789 --bind 0.0.0.0  # 监听所有网卡

验证状态

openclaw gateway status  # 确认 Listening: 0.0.0.0:18789
2. 本地环境准备
  • 安装 WSL2(Windows 10/11):
    wsl --install -d Ubuntu-24.04  # 安装 Ubuntu 24.04
    
  • 启用 Systemd(WSL2 必须):
    sudo tee /etc/wsl.conf <<< "[boot]`nsystemd=true"
    
    重启 WSL 后验证:
    systemctl --user status  # 显示 "State: running"
    
3. 本地安装 OpenClaw Node
# 在 WSL2 终端执行
curl -fsSL https://openclaw.ai/install.sh | bash
export PATH="$HOME/.npm-global/bin:$PATH"  # 修复路径问题
which openclaw  # 确认路径为 /home/用户名/.npm-global/bin/openclaw
4. 建立 SSH 隧道
# 保持终端开启,建立加密通道
ssh -N -L 18789:127.0.0.1:18789 root@云端IP

参数说明

  • -N:不执行远程命令,仅转发端口
  • -L:本地端口 18789 → 云端 18789

5. 配置网关令牌(Token)
# 云端获取 Token
cat ~/.openclaw/openclaw.json | grep token  # 输出示例:"token": "ocw_xxxxxx"

# 本地设置环境变量
$env:OPENCLAW_GATEWAY_TOKEN = "ocw_xxxxxx"
6. 启动本地 Node
openclaw node run --host 127.0.0.1 --port 18789 --display-name "我的Windows设备"

关键参数

  • --host 127.0.0.1:通过本地回环地址连接 SSH 隧道
  • --display-name:云端设备列表显示名称
7. 云端审批设备
# 云端执行
openclaw devices list  # 查看待审批设备
openclaw devices approve <requestId>  # 批准设备

三、浏览器控制测试

在 OpenClaw 聊天界面发送指令:

打开浏览器访问 https://www.baidu.com 并截图

成功标志:返回百度首页截图,说明浏览器控制链路正常。


四、进阶配置与优化

1. 开机自动启动(Windows)

创建批处理脚本 start-node.bat

@echo off
start "SSH隧道" cmd /c "ssh -N -L 18789:127.0.0.1:18789 root@云端IP"
timeout /t 3
set OPENCLAW_GATEWAY_TOKEN=ocw_xxxxxx
openclaw node run --host 127.0.0.1 --port 18789 --display-name "我的设备"

将脚本放入 shell:startup 实现开机自启。

2. 安全加固
  • 防火墙规则
    sudo ufw allow 18789/tcp  # 仅允许本地回环访问
    sudo ufw deny out 18789   # 阻止外部直接访问
    
  • SSH 配置(云端):
    # /etc/ssh/sshd_config
    AllowTcpForwarding yes
    PermitOpen 127.0.0.1:18789  # 限制隧道目标地址
    
3. 浏览器环境优化
  • 安装 Playwright(WSL2):
    npx playwright install chromium  # 避免 501 操作失败错误  
    
  • 多浏览器支持
    openclaw browser install firefox  # 支持 Firefox/Brave 等
    

五、常见问题排查

现象原因解决方案
ECONNREFUSED 127.0.0.1:18789SSH 隧道未建立检查 ssh -L 进程是否运行
unauthorized: gateway token mismatchToken 错误重新获取并设置环境变量
浏览器操作超时防火墙拦截开放本地 9222 端口(Chrome 调试端口)
设备状态 Pending未审批云端执行 openclaw devices approve

六、方案对比

方案适用场景优势劣势
SSH 隧道通用远程控制加密安全,无需公网 IP依赖 SSH 连接稳定性
Tailscale长期稳定连接自动重连,低延迟需安装 Tailscale 客户端
Chrome 扩展控制已登录标签页无需重启浏览器需手动附加标签页

通过上述方案,可实现 OpenClaw 通过 SSH 隧道安全托管浏览器,适用于自动化办公、远程监控等场景。若需更高安全性,可结合 Tailscale 内网穿透(方案二)。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐