本地浏览器访问云服务器上 OpenClaw
本地浏览器访问云服务器上 OpenClaw
本文档介绍三种从本地电脑浏览器访问云服务器上 OpenClaw 的方法。
前提条件:OpenClaw Gateway 已正常运行于云服务器上。
快速参考
| 方案 | 安全性 | 复杂度 | 推荐场景 |
|---|---|---|---|
| 方案一:直接暴露 | 中 | ★☆☆ | 临时测试、快速验证 |
| 方案二:SSH 隧道 | 高 | ★★☆ | 日常使用、安全优先 |
| 方案三:Tailscale VPN | 高 | ★★★ | 长期稳定、团队使用 |

前置信息
在开始之前,你需要知道以下信息,这些信息可以在服务器上执行命令获取:
# 获取服务器公网 IP
curl -s ifconfig.me
# 查看 Gateway 配置中的端口和 token
cat ~/.openclaw/openclaw.json | grep -E '"port"|"token"|"bind"'
你需要准备的信息:
| 信息 | 获取方式 | 示例值 |
|---|---|---|
| 服务器公网 IP | curl -s ifconfig.me |
192.168.1.100 |
| Gateway 端口 | 配置文件中 port 字段 |
18789 |
| Gateway Token | 见下方「如何获取 Token」章节 | xxxxxx |
| 服务器用户名 | 登录服务器时使用 | lihaozhe |
如何获取 Token
Token 是访问 OpenClaw Gateway 的凭证。以下两种方式获取:
方式一:从配置文件查看现有 Token
cat ~/.openclaw/openclaw.json | grep -A2 '"token"'
输出类似:
"token": "7f2d9ab5c1e3862047bcf9153ae7d681290c56348ef27b91"
⚠️ 注意:如果 token 被
***或null隐藏,需要用方式二重新生成。
方式二:重新生成 Token
如果忘记 Token 或 Token 泄露,可以重新生成:
方法 A:通过 OpenClaw 命令重置
# 删除旧 token 配置
openclaw gateway config set auth.token ""
# 或直接编辑配置文件,删除 "token" 那一行
# 重启 Gateway
openclaw gateway restart
重启后 Gateway 会自动生成新的 Token,可以在日志中找到:
grep -i token /tmp/openclaw/openclaw-$(date +%Y-%m-%d).log | tail -5
方法 B:手动设置固定 Token
编辑 ~/.openclaw/openclaw.json,在 auth 下添加自定义 Token:
"auth": {
"mode": "token",
"token": "你想要的Token字符串(建议32位以上)"
}
然后重启 Gateway:
openclaw gateway restart
建议:Token 建议使用至少 32 位的随机字符串,可用以下命令生成:
openssl rand -hex 32
方案一:直接暴露 Gateway(修改 bind)
原理
修改 OpenClaw 配置文件,将 Gateway 的绑定地址从 loopback(仅本地)改为 all(所有网卡),使 Gateway 监听公网 IP。
操作步骤
Step 1:编辑配置文件
nano ~/.openclaw/openclaw.json
找到这一行:
"bind": "loopback",
修改为:
"bind": "all",
Step 2:重启 Gateway 使配置生效
openclaw gateway restart
Step 3:配置防火墙放行端口(如果服务器有防火墙)
# 查看防火墙状态
sudo ufw status
# 如果防火墙开启,放行端口(将 18789 替换为你的实际端口)
sudo ufw allow 18789/tcp
Step 4:在云服务器控制台开放安全组(如果是阿里云/腾讯云等)
登录云服务器控制台 → 安全组 → 入站规则 → 添加规则:
- 协议:TCP
- 端口:
18789(或你的实际端口) - 来源:
0.0.0.0/0(或限定你的 IP)
Step 5:在浏览器中访问
在本地电脑浏览器输入:
http://<服务器公网IP>:<端口>
例如:http://192.168.1.100:18789
Step 6:输入 Token 认证
首次访问会提示输入 Token,输入你的 Token。
优缺点
| 优点 | 缺点 |
|---|---|
| 配置简单,改一行即可 | 端口暴露在公网(依赖 Token 保护) |
| 长期稳定,重启后自动生效 | 安全性依赖单一 Token |
| 无需保持 SSH 连接 | 被扫描攻击风险增加 |
注意事项
- Token 是唯一的访问凭证,不要泄露给他人
- 如果服务器提供商有安全组(如阿里云、腾讯云),需要在控制台开放对应端口入站规则
- 建议配合强密码或定期更换 Token 使用
方案二:SSH 隧道
原理
通过 SSH 协议在本地电脑和云服务器之间建立加密隧道,将本地端口转发到服务器的 Gateway 地址。浏览器访问本地端口,数据通过加密隧道传输。
操作步骤
Step 1:在本地电脑执行 SSH 隧道命令
打开本地终端(macOS/Linux 直接用终端,Windows 用 PowerShell 或 WSL),执行:
ssh -L <本地端口>:127.0.0.1:<远程端口> <用户名>@<服务器IP>
将占位符替换为实际值,例如:
ssh -L 18789:127.0.0.1:18789 ubuntu@192.168.1.100
参数说明:
-L 18789:127.0.0.1:18789:将本地18789端口映射到远程127.0.0.1:18789ubuntu:你的服务器用户名192.168.1.100:服务器公网 IP
Step 2:输入密码完成 SSH 连接
连接成功后,终端会保持在该状态(不要关闭)。
Step 3:在浏览器中访问
保持 SSH 连接的同时,在浏览器中输入:
http://127.0.0.1:<本地端口>
例如:http://127.0.0.1:18789
注意:这里是 127.0.0.1,不是服务器 IP。
Step 4:输入 Token 认证
首次访问会提示输入 Token,输入你的 Token。
每次使用的完整流程
1. 打开本地终端
2. 执行 ssh -L <本地端口>:127.0.0.1:<远程端口> <用户名>@<服务器IP>
3. 输入密码,保持终端连接
4. 浏览器访问 http://127.0.0.1:<本地端口>
5. 用完后关闭终端即可
优缺点
| 优点 | 缺点 |
|---|---|
| 加密传输,端口不暴露 | 需要每次手动建立隧道 |
| 安全性高 | SSH 连接中断则无法访问 |
| 无需修改服务器配置 | 浏览器需支持 127.0.0.1 访问 |
常见问题
Q:每次都要输入密码?
A:可以配置 SSH 公钥免密登录:
# 本地生成密钥对(如已有可跳过)
ssh-keygen -t ed25519
# 将公钥复制到服务器
ssh-copy-id <用户名>@<服务器IP>
之后连接无需输入密码。
Q:Windows 没有 SSH?
A:Windows 10/11 内置 OpenSSH,PowerShell 或 CMD 中直接运行上述命令即可。也可使用 Git Bash 或 WSL。
Q:SSH 连接超时断开了?
A:可以在命令中加入参数保持连接:
ssh -o ServerAliveInterval=60 -L <本地端口>:127.0.0.1:<远程端口> <用户名>@<服务器IP>
方案三:Tailscale VPN
原理
Tailscale 是一种基于 WireGuard 的零配置 VPN,通过 NAT 穿透技术让设备之间直接互联,无需暴露端口、不依赖公网 IP。安装后,所有设备会获得一个虚拟 IP,形成一个私有网络。
操作步骤
Step 1:在服务器上安装 Tailscale
# 下载安装脚本
curl -fsSL https://tailscale.com/install.sh | sh
# 启动 Tailscale(需要管理员权限)
sudo tailscale up
Step 2:在本地电脑安装 Tailscale
- macOS:
brew install tailscale或从官网下载 - Windows:从 https://tailscale.com/download 下载安装
- Linux:
curl -fsSL https://tailscale.com/install.sh | sh
安装后登录你的 Tailscale 账号(免费注册)。
Step 3:将服务器添加到你的 Tailscale 网络
在服务器上执行:
sudo tailscale up
会生成一个授权 URL,浏览器打开并登录授权。
Step 4:获取 Tailscale 虚拟 IP
在服务器上执行:
tailscale ip -4
会返回类似 100.x.x.x 的地址,这就是服务器的 Tailscale IP。
Step 5:修改 OpenClaw 绑定(让 Tailscale IP 可访问)
编辑 ~/.openclaw/openclaw.json:
"bind": "all",
重启 Gateway:
openclaw gateway restart
Step 6:在浏览器中通过 Tailscale IP 访问
在本地电脑浏览器访问:
http://<服务器Tailscale IP>:<端口>
例如:http://100.64.0.5:18789
输入 Token 完成认证。
进阶:Oauth 认证(可选)
Tailscale 支持 SSO/OAuth 登录,可以在 OpenClaw 配置 Tailscale 为认证 provider,这样只有 Tailscale 网络内的设备且完成 OAuth 登录才能访问。
优缺点
| 优点 | 缺点 |
|---|---|
| 端口不暴露,公网无法直接访问 | 需要安装额外软件 |
| 加密隧道,安全性高 | Tailscale 服务依赖(商业版有更多功能) |
| 支持多设备,团队共享 | 配置相对复杂 |
| 长期稳定,不受 IP 变化影响 | 免费版有限制(设备数等) |
注意事项
- Tailscale 默认不记录流量日志(无日志政策)
- 建议使用 MagicDNS 功能便于记忆设备名称
- 服务器和本地电脑都需要安装 Tailscale 并登录同一账号
安全建议
- 不要将 Token 分享给他人
- 优先使用方案二或方案三,方案一只适合快速测试
- 保持 OpenClaw 更新,及时打安全补丁
- 定期检查 Gateway 日志,确认无异常访问
tail -f /tmp/openclaw/openclaw-$(date +%Y-%m-%d).log - 如发现异常 Token 使用,重新生成 Token(见「如何获取 Token」章节)
- 生产环境建议使用方案二或方案三,并限制来源 IP
故障排查
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| 方案一浏览器无法访问 | 防火墙/安全组未开放端口 | 检查 sudo ufw status 和云控制台安全组 |
| 方案二连接被拒绝 | SSH 端口非 22 或 IP 错误 | 确认服务器 IP 和 SSH 端口 |
| 方案三无法 ping 通 | Tailscale 未正确登录 | 执行 tailscale status 检查状态 |
| Token 无法登录 | Token 错误或已更换 | 用 cat ~/.openclaw/openclaw.json 重新查看 |
| Gateway 显示 running 但无法访问 | bind 未改为 all | 确认配置并重启 openclaw gateway restart |
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)