跳转至

Oracle Cloud

在 Oracle Cloud 的 Always Free ARM 层级上以零成本运行持久化的 OpenClaw Gateway(最高 4 OCPU、24 GB RAM、200 GB 存储)。

先决条件

设置

1. 创建 OCI 实例

1. 登录 [Oracle Cloud Console](https://cloud.oracle.com/)。
2. 导航到 **Compute > Instances > Create Instance**。
3. 配置:
   - **名称:** `openclaw`
   - **映像:** Ubuntu 24.04 (aarch64)
   - **形状:** `VM.Standard.A1.Flex`(Ampere ARM)
   - **OCPU:** 2(或最多 4)
   - **内存:** 12 GB(或最多 24 GB)
   - **引导卷:** 50 GB(最多 200 GB 免费)
   - **SSH 密钥:** 添加你的公钥
4. 点击 **Create**,并记下公网 IP 地址。

Tip

如果实例创建失败并提示 "Out of capacity",请尝试其他可用性域或稍后重试。免费层级容量有限。

2. 连接并更新系统

ssh ubuntu@YOUR_PUBLIC_IP

sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential

某些依赖项在 ARM 上编译时需要 build-essential。

3. 配置用户与主机名

sudo hostnamectl set-hostname openclaw
sudo passwd ubuntu
sudo loginctl enable-linger ubuntu

启用 linger 后,用户服务会在注销后继续运行。

4. 安装 Tailscale

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up --ssh --hostname=openclaw

从现在开始,通过 Tailscale 连接:ssh ubuntu@openclaw。

5. 安装 OpenClaw

curl -fsSL https://openclaw.ai/install.sh | bash
source ~/.bashrc

当安装程序提示孵化 agent 时,先跳过——下面的网关配置步骤会先配置主机。

6. 配置网关

使用 Tailscale Serve 的令牌认证来实现安全的远程访问。

openclaw config set gateway.bind loopback
openclaw config set gateway.auth.mode token
openclaw doctor --generate-gateway-token
openclaw config set gateway.tailscale.mode serve
openclaw config set gateway.trustedProxies '["127.0.0.1"]'

openclaw gateway install
systemctl --user restart openclaw-gateway.service

这里的 gateway.trustedProxies=["127.0.0.1"] 仅用于本地 Tailscale Serve 代理的转发 IP/本地客户端处理。它不是 gateway.auth.mode: "trusted-proxy"。在此配置下,Diff 查看器路由会保持默认拒绝(fail-closed)行为:没有转发代理头部的原始 127.0.0.1 查看器请求会返回 Diff not found。对于附件,请使用 mode=file / mode=both;如果你需要可分享的查看器链接,请有意启用远程查看器并设置 plugins.entries.diffs.config.viewerBaseUrl(或传入代理 baseUrl)。

7. 锁定 VCN 网络安全

在网络边缘阻止除 Tailscale 外的所有流量:

  1. 在 OCI 控制台中,转到 Networking > Virtual Cloud Networks。
  2. 点击你的 VCN,然后进入 Security Lists > Default Security List。
  3. 删除除 0.0.0.0/0 UDP 41641(Tailscale)之外的所有入站规则。
  4. 保留默认出站规则(允许所有出站流量)。

这会在网络边缘阻止 22 端口的 SSH、HTTP、HTTPS 以及所有其他流量。此后,你只能通过 Tailscale 连接。

8. 验证

openclaw --version
systemctl --user status openclaw-gateway.service
tailscale serve status
curl http://localhost:18789

从 tailnet 上的任何设备访问控制界面(Control UI):

https://openclaw.<tailnet-name>.ts.net/

将 <tailnet-name> 替换为你的 tailnet 名称(可在 tailscale status 中查看)。

验证安全态势

由于 VCN 已锁定(仅开放 UDP 41641),且 Gateway 绑定到 loopback,公网流量会在网络边缘被阻止,管理员访问仅限 tailnet。这消除了多个传统 VPS 加固步骤的需求:

传统步骤 是否需要? 原因
UFW 防火墙 不需要 VCN 会在流量到达实例之前将其阻止。
fail2ban 不需要 22 端口已在 VCN 处被阻止;没有暴力破解面。
sshd 加固 不需要 Tailscale SSH 不使用 sshd。
禁用 root 登录 不需要 Tailscale 通过 tailnet 身份进行认证,而非系统用户。
仅使用 SSH 密钥认证 不需要 同样——tailnet 身份取代了系统 SSH 密钥。
IPv6 加固 通常不需要 取决于 VCN/子网设置;请核实实际分配/暴露的地址。

仍然推荐:

  • 执行 chmod 700 ~/.openclaw 以限制凭据文件权限。
  • 运行 openclaw security audit 进行 OpenClaw 专属的安全态势检查。
  • 定期运行 sudo apt update && sudo apt upgrade 以安装操作系统补丁。
  • 定期查看 Tailscale 管理控制台 中的设备。

快速验证命令:

# 确认没有公网端口在监听
sudo ss -tlnp | grep -v '127.0.0.1\|::1'

# 验证 Tailscale SSH 是否已激活
tailscale status | grep -q 'offers: ssh' && echo "Tailscale SSH active"

# 可选:确认 Tailscale SSH 正常工作后,彻底禁用 sshd
sudo systemctl disable --now ssh

ARM 注意事项

Always Free 层级使用 ARM(aarch64)架构。大多数 OpenClaw 功能均可正常工作;少数原生二进制文件需要 ARM 构建:

  • Node.js、Telegram、WhatsApp(Baileys):纯 JavaScript,没有问题。
  • 大多数带原生代码的 npm 包:提供预构建的 linux-arm64 产物。
  • 可选的 CLI 辅助工具(例如 skills 附带的 Go/Rust 二进制文件):安装前请检查是否有 aarch64 / linux-arm64 版本。

使用 uname -m 验证架构(应输出 aarch64)。对于没有 ARM 构建的二进制文件,请从源码安装或跳过。

持久化与备份

OpenClaw 状态数据存放于:

  • ~/.openclaw/ -- openclaw.json、共享及按代理区分的 SQLite 认证存储、渠道/提供商状态以及会话数据。
  • ~/.openclaw/workspace/ -- 代理工作区(SOUL.md、记忆、产物)。

这些数据在重启后仍会保留。要创建备份归档:

openclaw backup create
openclaw backup restore <archive.tar.gz> --target <fresh-directory>

绝对符号链接会保持其原始目标位置,包括指向单独备份的配置或凭据的链接。在另一台主机或另一路径上激活状态之前,请检查这些链接;请参阅备份符号链接注意事项。恢复操作会校验并解压到全新的暂存目录;激活是单独的离线步骤。回滚警告和激活顺序请参阅恢复完整归档。

备选方案:SSH 隧道

如果 Tailscale Serve 无法工作,可从本地机器使用 SSH 隧道:

ssh -L 18789:127.0.0.1:18789 ubuntu@openclaw

然后打开 http://localhost:18789。

故障排除

实例创建失败("容量不足") -- 免费套餐的 ARM 实例很抢手。请尝试不同的可用性域,或在非高峰时段重试。

Tailscale 无法连接 -- 运行 sudo tailscale up --ssh --hostname=openclaw --reset 重新进行身份验证。

网关无法启动 -- 运行 openclaw doctor --non-interactive,并使用 journalctl --user -u openclaw-gateway.service -n 50 查看日志。

ARM 二进制文件问题 -- 大多数 npm 包都能在 ARM64 上运行。对于原生二进制文件,请查找 linux-arm64 或 aarch64 版本。使用 uname -m 验证架构。

后续步骤

  • 渠道 -- 连接 Telegram、WhatsApp、Discord 等
  • 网关配置 -- 所有配置选项
  • 更新 -- 保持 OpenClaw 最新

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw