OpenClaw AI助手入门教程-开启远程访问(安全反向隧道方式)
说明
OpenClaw 是一个强大的 AI 助手平台,通常部署在服务器上。如果你希望从本地电脑安全地访问服务器的 OpenClaw 控制界面,又不想将服务直接暴露在公网,可以通过 SSH 反向隧道 实现内网穿透式的远程访问。这种方式利用 SSH 加密传输,既安全又无需配置复杂的防火墙规则。
本教程将一步步引导你完成配置,让你在本地浏览器中如同访问本地服务一样使用远程 OpenClaw。
前提条件
- 已部署 OpenClaw 服务器(使用 Docker + docker-compose)
- 拥有服务器的 SSH 登录权限(用户名、IP、密码或密钥)
- 本地电脑已安装 SSH 客户端(Linux/macOS 自带,Windows 可使用 PowerShell 或 Git Bash)
步骤1:获取 OpenClaw 服务器上的 Token
OpenClaw 使用设备 Token 进行身份认证。你需要先获取服务器上已有的网关 Token,或者生成一个新的。
- 方法一:查看现有 Token(如果已配置)
登录服务器,进入 OpenClaw 的部署目录(通常包含 docker-compose.yml),执行:
docker compose exec openclaw-gateway node dist/index.js token
该命令会输出当前的网关 Token(类似 ocw_xxxxx)。
- 方法二:生成新 Token
如果需要重新生成,可以使用:
docker compose exec openclaw-gateway node dist/index.js generate-token
记下输出的 Token,后续步骤会用到。
- Token 相当于访问控制面板的“密码”,请妥善保管。
步骤2:建立 SSH 反向隧道(本地端口转发)
我们要将远程服务器的 OpenClaw Web 端口(默认为 18789)映射到本地的 19999 端口。这样,本地浏览器访问 http://127.0.0.1:19999 时,所有流量都会通过 SSH 加密隧道直达服务器。
在本地电脑的终端中执行以下命令(替换 user 和 server-ip 为你的实际用户名和服务器 IP):
ssh -L 19999:localhost:18789 user@server-ip -N
#说明
-L 19999:localhost:18789:将本地 19999 端口转发到远程服务器的 localhost:18789。
-N:不执行远程命令,仅建立隧道(适合纯转发)。
- 执行后终端会卡住(表示隧道已建立),不要关闭它。如果希望后台运行,可以加上 -f 参数,或使用 autossh 保持连接。
- 如果远程服务器 SSH 端口不是默认 22,请加上 -p <端口号>。
- 验证隧道是否成功:打开另一个终端,执行 curl http://127.0.0.1:19999,若能返回 HTML 内容,说明转发正常。
步骤3:浏览器访问本地端口
- 打开浏览器,访问 http://127.0.0.1:19999。此时你应该能看到 OpenClaw 的登录界面,但可能会遇到跨域错误或无法正常加载(取决于默认配置)。别担心,下一步我们将调整服务器设置。
步骤4:配置 allowedOrigins 和 trustedProxies
为了让 OpenClaw 接受来自 http://127.0.0.1:19999 的请求,并正确识别真实客户端 IP,需要在服务器配置文件中添加两项设置。
4.1 进入 OpenClaw 配置目录
通常配置文件位于 OpenClaw 部署目录下的 config 文件夹,文件名为 config.yaml 或 config.json。如果使用 docker-compose,可能通过环境变量或挂载的配置文件设置。
- 4.2 编辑配置文件
以 config.yaml 为例,在 gateway 部分添加或修改:
gateway:
controlUi:
allowedOrigins:
- "http://127.0.0.1:19999"
trustedProxies:
- "127.0.0.1"
#说明
allowedOrigins:允许的跨域来源,这里添加你本地的地址。
trustedProxies:信任的代理 IP,因为请求是通过 SSH 隧道转发的,来源 IP 变为 127.0.0.1(即本机),需要信任它才能获取真实客户端 IP(如有需要)。
如果使用 JSON 格式,对应字段为 gateway.controlUi.allowedOrigins 和 gateway.trustedProxies。
4.3 重启网关服务
保存文件后,在服务器上重启 OpenClaw 网关容器使配置生效:
docker compose restart openclaw-gateway
步骤5:服务器端审核设备
OpenClaw 默认要求新设备首次访问时需管理员审批。当你通过本地隧道访问时,设备会被记录为待审核状态。
- 5.1 列出待审核设备
在服务器上执行:
docker compose exec openclaw-gateway node dist/index.js devices list
你会看到类似下面的输出,找到状态为 pending 的设备,记下其 ID。
text
ID Name Status
abcd1234... 我的电脑 pending
- 5.2 批准设备
执行审批命令,将
docker compose exec openclaw-gateway node dist/index.js devices approve <ID>
批准后,该设备即可正常访问。
- 如果设备列表为空,可以先刷新一次浏览器页面(步骤3的页面),触发设备注册,再重新列出。
步骤6:正式访问
回到本地浏览器,刷新 http://127.0.0.1:19999 页面。现在你应该可以顺利进入 OpenClaw 控制面板,使用你的 AI 助手了!
以后每次需要远程访问时,只需在本地运行 SSH 隧道命令(步骤2),然后打开浏览器即可。
补充说明与常见问题
- Q1:SSH 隧道断开怎么办?
可以使用 autossh 自动重连:
autossh -M 0 -L 19999:localhost:18789 user@server-ip -N
Q2:端口 19999 被占用怎么办?
更换本地端口,例如 20000,并同步修改步骤4中的 allowedOrigins 为 http://127.0.0.1:20000。Q3:设备审批时找不到 ID?
确保你已经通过浏览器访问过一次 http://127.0.0.1:19999,触发了设备注册。如果还是看不到,检查步骤4的配置是否正确,并重启网关。Q4:为什么不能直接使用服务器公网 IP?
暴露公网会增加被扫描和攻击的风险。反向隧道方式只对建立了 SSH 连接的本地机器开放,安全性更高,尤其适合临时远程管理。
总结
通过 SSH 反向隧道,你可以安全、便捷地从本地访问远程 OpenClaw 服务,无需复杂的网络配置。结合设备审批机制,进一步保障了访问的授权性。现在,尽情享受你的 AI 助手吧!
如果你在操作中遇到其他问题,欢迎查阅 OpenClaw 官方文档或在社区提问。
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


















