本地浏览器访问云服务器上 OpenClaw

本文档介绍三种从本地电脑浏览器访问云服务器上 OpenClaw 的方法。

前提条件:OpenClaw Gateway 已正常运行于云服务器上。


快速参考

方案 安全性 复杂度 推荐场景
方案一:直接暴露 ★☆☆ 临时测试、快速验证
方案二:SSH 隧道 ★★☆ 日常使用、安全优先
方案三:Tailscale VPN ★★★ 长期稳定、团队使用

openclaw

前置信息

在开始之前,你需要知道以下信息,这些信息可以在服务器上执行命令获取:

# 获取服务器公网 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:18789
  • ubuntu:你的服务器用户名
  • 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 并登录同一账号

安全建议

  1. 不要将 Token 分享给他人
  2. 优先使用方案二或方案三,方案一只适合快速测试
  3. 保持 OpenClaw 更新,及时打安全补丁
  4. 定期检查 Gateway 日志,确认无异常访问
    tail -f /tmp/openclaw/openclaw-$(date +%Y-%m-%d).log
    
  5. 如发现异常 Token 使用,重新生成 Token(见「如何获取 Token」章节)
  6. 生产环境建议使用方案二或方案三,并限制来源 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
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐