OpenClaw VPS 部署教程:安全安装、常驻运行与备份

· 更新于 · 发布:iVPSer · Linux教程、建站

OpenClaw 是可自托管的个人 AI 助手。VPS 能让它常驻运行,但权限和密钥仍要自己管理。部署前先确认谁能向 Agent 发送内容,以及它可以访问主机上的哪些资源。

一个可信操作者的信任边界只运行一个 Gateway。互不信任的用户应使用独立 Gateway,并尽量拆到不同系统用户或主机。

这套配置让 Gateway 在 VPS 上常驻,并把控制台留在本机访问。微信、飞书和 QQ 的设置在 OpenClaw 消息平台接入教程。

这种部署适合谁

场景建议
自己通过手机使用个人助手可以放在专用 VPS
同一团队共享一个业务 Agent仅限成员处在同一信任边界,并限制工具权限
为互不信任的客户提供服务不共享 Gateway;分别隔离账户、凭据和运行环境
主要操作本机文件或桌面应用本地运行或配对受控节点通常更直接

聊天入口不是普通客服表单。OpenClaw 能调用文件、网络和命令工具时,获准发消息的人也可能间接影响这些资源。

准备服务器和恢复入口

先完成 Linux VPS 初始安全配置,再确认普通用户、SSH 密钥、主机防火墙和服务商控制台都可用。API Key、平台密钥和备份不能进入公开仓库。

已有 OpenClaw 时,先记录现状:

openclaw --version
openclaw gateway status --deep --json
openclaw security audit --json

再用当前服务用户创建并验证备份:

mkdir -p ~/Backups/openclaw
openclaw backup create --output ~/Backups/openclaw --verify

备份可能包含模型认证、会话、聊天平台凭据和工作区。把归档加密复制到 VPS 之外;只存在原服务器上的备份,无法应对整机故障。

用专用用户安装

全新实例可以创建一个 openclaw 用户:

sudo adduser openclaw
sudo -iu openclaw

不要顺手把它加入所有管理组。sudo、Docker socket、宿主机文件和 SSH 私钥都会扩大 Agent 的影响范围。已有实例若要更换服务用户,应先设计状态迁移和回滚。

下载后再执行安装器

远程安装脚本会变化。下面先把脚本下载到临时文件,查看内容并记录本次摘要,再决定是否执行:

OPENCLAW_INSTALLER=$(mktemp)
trap 'rm -f "$OPENCLAW_INSTALLER"' EXIT
curl --proto '=https' --tlsv1.2 --fail --show-error --location \
  https://openclaw.ai/install.sh \
  --output "$OPENCLAW_INSTALLER"
sha256sum "$OPENCLAW_INSTALLER"
less "$OPENCLAW_INSTALLER"
bash "$OPENCLAW_INSTALLER" --no-onboard
rm -f "$OPENCLAW_INSTALLER"
trap - EXIT

自己算出的 SHA-256 可以留下安装记录,但不能替代上游签名。域名、脚本内容或执行用户有一项不符合预期,就先停下来。

重新登录专用用户会话后检查运行时:

node --version
openclaw --version
openclaw doctor

完成引导并让 Gateway 常驻

用官方引导配置模型、工作区和服务:

openclaw onboard --install-daemon

模型密钥应写入 OpenClaw 支持的凭据位置或权限受限的环境文件,不要粘进聊天、命令示例或公开截图。

完成后检查:

openclaw gateway status --deep --json
openclaw doctor --lint --json

Linux 引导通常安装 systemd 用户服务。确认服务属于 openclaw 用户且路径正确后,再由管理员允许它在 SSH 退出后继续运行:

sudo loginctl enable-linger openclaw

退出并重新登录,再验证服务没有依赖旧会话:

systemctl --user status openclaw-gateway.service
openclaw gateway status --deep --json

控制台只监听本机

Gateway 控制台应绑定 loopback,通过 SSH 隧道或受控 Tailnet 访问。不要为了省事把它改成 0.0.0.0。

openclaw config get gateway.bind
ss -lnt '( sport = :18789 )'

在自己的电脑建立 SSH 隧道。这里使用已经验证过的登录账号和真实端口,不假设 openclaw 服务用户可以远程登录:

read -r -p '已验证 SSH 用户: ' VPS_SSH_USER
read -r -p '服务器 IP 或主机名: ' VPS_HOST
read -r -p '实际 SSH 端口: ' VPS_SSH_PORT
test -n "$VPS_SSH_USER" && test -n "$VPS_HOST" || exit 1
case "$VPS_SSH_PORT" in ''|*[!0-9]*) exit 1 ;; esac
ssh -N -p "$VPS_SSH_PORT" \
  -L 18789:127.0.0.1:18789 \
  "${VPS_SSH_USER}@${VPS_HOST}"

随后只在本机浏览器打开 http://127.0.0.1:18789/。即使控制台配置了 token 或密码,也不应直接暴露到公网。

接入消息平台

部署稳定后再添加消息入口,不要把安装、模型、Gateway 和平台权限问题一次叠在一起。

Gateway 会直接执行插件代码,插件可以接触相应配置和环境。只安装可信来源的插件,并尽量固定已经核对的版本。

做行为级验收

openclaw gateway status --deep --json
openclaw plugins list --json
openclaw channels status --probe
openclaw security audit --deep

至少验证四件事:允许的账号能得到最小回复;未授权账号不能触发模型和工具;未批准的群不能触发 Agent;SSH 隧道关闭后,公网不能访问控制台。

日志里不应有循环重启、持续认证失败或意外公网监听。提供排障日志前,先删掉 token、App Secret、用户标识、消息正文和内部路径。

备份后再升级

升级前重新创建一份可验证备份,并复制到 VPS 之外:

openclaw backup create --output ~/Backups/openclaw --verify
openclaw update --dry-run
openclaw update

升级完成后,重新检查 Gateway、插件、频道和真实消息。Updater 返回成功,只说明更新命令结束,不代表 Agent 已恢复服务。

需要回退代码时,先查已发布版本并明确选择已知可用版本:

npm view openclaw versions --json
read -r -p '已知可用版本: ' KNOWN_GOOD_VERSION
test -n "$KNOWN_GOOD_VERSION" || exit 1
openclaw update --tag "$KNOWN_GOOD_VERSION" --dry-run
openclaw update --tag "$KNOWN_GOOD_VERSION"

只有旧代码无法读取新状态时才考虑恢复归档。先用官方恢复器写入新的临时位置,不要把备份直接覆盖正在运行的 ~/.openclaw:

read -r -p '验证归档路径: ' BACKUP_ARCHIVE
test -f "$BACKUP_ARCHIVE" || exit 1
RESTORE_STAGE=$(mktemp -d "$HOME/openclaw-restore.XXXXXX") || exit 1
openclaw backup restore "$BACKUP_ARCHIVE" --target "$RESTORE_STAGE"

服务边界

iVPSer 提供 VPS、基础资源和控制台入口。OpenClaw、模型账户、插件、消息平台审核、密钥、备份与 Agent 执行结果由使用者管理。

实例规格、库存和价格以实时控制台为准。先按真实频道、工具和浏览器任务选择,再根据监控调整,不照搬教程中的固定内存数字。

👉 查看当前 VPS 配置

参考资料