问题背景
在 VPS 上安装了 OpenClaw,想打开它的 WebUI 控制台。OpenClaw 给出的访问地址是:
http://127.0.0.1:18789/#token=你的完整token
我把 127.0.0.1 换成了 VPS 的公网 IP,结果网页依然打不开——这是一个非常经典的服务器网络配置问题,很多刚开始在 VPS 上部署 Web UI(特别是 OpenClaw 这类 AI 工具)的朋友都会遇到。
原因分析
直接说结论:打不开网页是因为 127.0.0.1 是 VPS 的”本地回环地址(Localhost)”。当 OpenClaw 提示这个地址时,意味着它目前被配置为“只允许 VPS 自己访问自己”。当你强行把浏览器里的 IP 换成 VPS 的公网 IP 时,请求是从外部(你的电脑)发起的,而 OpenClaw 并没有在监听外部请求,所以会直接拒绝连接。
要解决这个问题,有两个主要的方法。
方法一:SSH 本地端口转发(最安全,强烈推荐)
这是最推荐的做法,因为它不需要修改 VPS 的防火墙,也不会把你的 OpenClaw 暴露在公网上被扫描和攻击。它的原理是通过 SSH 通道,把你电脑的 18789 端口和 VPS 的 18789 端口”连”起来。
操作步骤:
在你自己的电脑上(Mac 的终端,或者 Windows 的 PowerShell/CMD),输入以下命令:
ssh -L 18789:127.0.0.1:18789 root@你的VPS公网IP
(请把 root 换成你的登录用户名,并把后面的 IP 换成你真实的 VPS IP。按回车后输入服务器密码登录。)
只要这个终端窗口保持打开状态不关闭,你就可以直接在浏览器里访问 OpenClaw 最初给你的原链接了:
http://127.0.0.1:18789/#token=你的完整token
此时,你以为你在访问本地,实际上数据已经通过加密隧道安全地传输到了你的 VPS 上。
小插曲:但此方法使用后,发现复杂密码的输入是个问题,终端里总是不认密码——这才有了下面的方法二。
方法二:在 Xshell 8 中图形化配置 SSH 隧道
在 Xshell 8 中实现方案一(SSH 隧道)非常简单,甚至比敲命令更方便,因为它支持图形化配置且能随会话自动启动。
按照以下步骤操作,你就可以在不改变 VPS 任何设置的情况下,直接在本地浏览器打开那个 127.0.0.1 的链接:
第一步:在 Xshell 中配置端口转发(隧道)
- 打开 Xshell 8,在左侧会话管理器中找到你连接该 VPS 的会话名称。
- 右键点击该会话,选择 “属性” (Properties)。
- 在弹出的窗口左侧菜单中,依次展开 “连接” (Connection) → “SSH” → “隧道” (Tunneling)。
- 在右侧点击 “添加” (Add) 按钮。
- 在”转发规则”窗口中进行如下设置:
- 类型 (Type):选择 Local (Outgoing)。
- 源主机 (Source Host):输入 localhost(或者保持默认的 127.0.0.1)。
- 侦听端口 (Listening Port):输入 18789(这是你电脑这端的端口)。
- 目标主机 (Destination Host):输入 127.0.0.1(这是 VPS 那端的地址)。
- 目标端口 (Destination Port):输入 18789(这是 OpenClaw 运行的端口)。
- 点击 “确定”,再点击属性窗口底部的 “确定” 保存设置。

第二步:建立连接并访问
- 双击连接这个配置好的 Xshell 会话,正常登录到你的 VPS 终端。
- 保持 Xshell 窗口不要关闭(只要 SSH 连着,隧道就是通的)。
- 打开你电脑上的浏览器(Chrome、Edge 等),直接复制粘贴 OpenClaw 给你的那个原始地址:
http://127.0.0.1:18789/#token=你的完整token

成功进入 Web UI 界面。通过 Xshell 隧道这种方式访问是最专业的做法,既保证了数据传输的加密安全,又不需要在 VPS 上额外开防火墙端口,完美避开了公网扫描的风险。
使用中的几个小提醒
- 保持连接:只要你想刷新或操作这个网页,Xshell 那个会话窗口就必须保持连接状态。如果 Xshell 断开了,网页就会显示”无法连接”。
- Token 登录:第一次进去通常需要那个长长的
#token=...,建议你把那个完整链接存到浏览器的书签里,或者把 Token 记在备忘录里,下次登录就不用回 SSH 翻找了。 - 多端口需求:如果你以后在 VPS 上又装了其他类似的工具(比如另一个 8080 端口的服务),只需在同一个 Xshell 会话的”隧道”属性里再添加一条
8080 → 127.0.0.1:8080的规则即可,非常方便。
注:原文中的访问 token 已做脱敏处理,请替换为你自己的 token。