OpenClaw 通过 **SSH 隧道**托管浏览器
·
要让 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 必须):
重启 WSL 后验证:sudo tee /etc/wsl.conf <<< "[boot]`nsystemd=true"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:18789 | SSH 隧道未建立 | 检查 ssh -L 进程是否运行 |
unauthorized: gateway token mismatch | Token 错误 | 重新获取并设置环境变量 |
| 浏览器操作超时 | 防火墙拦截 | 开放本地 9222 端口(Chrome 调试端口) |
设备状态 Pending | 未审批 | 云端执行 openclaw devices approve |
六、方案对比
| 方案 | 适用场景 | 优势 | 劣势 |
|---|---|---|---|
| SSH 隧道 | 通用远程控制 | 加密安全,无需公网 IP | 依赖 SSH 连接稳定性 |
| Tailscale | 长期稳定连接 | 自动重连,低延迟 | 需安装 Tailscale 客户端 |
| Chrome 扩展 | 控制已登录标签页 | 无需重启浏览器 | 需手动附加标签页 |
通过上述方案,可实现 OpenClaw 通过 SSH 隧道安全托管浏览器,适用于自动化办公、远程监控等场景。若需更高安全性,可结合 Tailscale 内网穿透(方案二)。
更多推荐



所有评论(0)