Skip to content

在 Oracle Cloud (OCI) 上运行 OpenClaw

目标

在 Oracle Cloud 的 Always Free ARM 套餐上运行持久化的 OpenClaw Gateway。

Oracle 的免费套餐非常适合 OpenClaw(特别是如果您已经有 OCI 账户),但也有一些权衡:

  • ARM 架构(大多数功能可用,但某些二进制文件可能仅支持 x86)
  • 容量和注册可能不太稳定

费用对比 (2026)

提供商方案配置价格/月备注
Oracle CloudAlways Free ARM最高 4 OCPU, 24GB RAM$0ARM,容量有限
HetznerCX222 vCPU, 4GB RAM~ $4最便宜的付费选项
DigitalOceanBasic1 vCPU, 1GB RAM$6UI 简单,文档完善
VultrCloud Compute1 vCPU, 1GB RAM$6位置选择多
LinodeNanode1 vCPU, 1GB RAM$5现已成为 Akamai 一部分

前置要求

1) 创建 OCI 实例

  1. 登录 Oracle Cloud Console
  2. 导航到 Compute → Instances → Create Instance
  3. 配置:
    • 名称: openclaw
    • 镜像: Ubuntu 24.04 (aarch64)
    • 形状: VM.Standard.A1.Flex (Ampere ARM)
    • OCPUs: 2 (或最高 4)
    • 内存: 12 GB (或最高 24 GB)
    • 启动卷: 50 GB (最高 200 GB 免费)
    • SSH 密钥: 添加您的公钥
  4. 点击 Create
  5. 记录公网 IP 地址

提示: 如果实例创建失败并显示 "Out of capacity",请尝试不同的可用性域或稍后重试。免费套餐容量有限。

2) 连接并更新

bash
# Connect via public IP
ssh ubuntu@YOUR_PUBLIC_IP

# Update system
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential

注意: build-essential 是某些依赖项进行 ARM 编译所必需的。

3) 配置用户和主机名

bash
# Set hostname
sudo hostnamectl set-hostname openclaw

# Set password for ubuntu user
sudo passwd ubuntu

# Enable lingering (keeps user services running after logout)
sudo loginctl enable-linger ubuntu

4) 安装 Tailscale

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

这将启用 Tailscale SSH,这样您就可以从 tailnet 上的任何设备通过 ssh openclaw 连接 — 无需公网 IP。

验证:

bash
tailscale status

从现在开始,通过 Tailscale 连接: ssh ubuntu@openclaw (或使用 Tailscale IP)。

5) 安装 OpenClaw

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

当提示 "How do you want to hatch your bot?" 时,选择 "Do this later"

注意: 如果遇到 ARM 原生构建问题,请先尝试系统包(例如 sudo apt install -y build-essential),然后再使用 Homebrew。

6) 配置 Gateway(回环 + token 认证)并启用 Tailscale Serve

使用 token 认证作为默认方式。它是可预测的,并且避免在 Control UI 中使用任何 "insecure auth" 标志。

bash
# Keep the Gateway private on the VM
openclaw config set gateway.bind loopback

# Require auth for the Gateway + Control UI
openclaw config set gateway.auth.mode token
openclaw doctor --generate-gateway-token

# Expose over Tailscale Serve (HTTPS + tailnet access)
openclaw config set gateway.tailscale.mode serve
openclaw config set gateway.trustedProxies '["127.0.0.1"]'

systemctl --user restart openclaw-gateway

7) 验证

bash
# Check version
openclaw --version

# Check daemon status
systemctl --user status openclaw-gateway

# Check Tailscale Serve
tailscale serve status

# Test local response
curl http://localhost:18789

8) 锁定 VCN 安全性

现在一切正常后,锁定 VCN 以阻止除 Tailscale 外的所有流量。OCI 的 Virtual Cloud Network 作为网络边缘的防火墙 — 流量在到达实例之前就被阻止。

  1. 在 OCI Console 中进入 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 连接。


访问 Control UI

从 Tailscale 网络上的任何设备:

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

<tailnet-name> 替换为您的 tailnet 名称(在 tailscale status 中可见)。

无需 SSH 隧道。Tailscale 提供:

  • HTTPS 加密(自动证书)
  • 通过 Tailscale 身份进行认证
  • 从 tailnet 上的任何设备访问(笔记本电脑、手机等)

安全性: VCN + Tailscale (推荐基准)

锁定 VCN(仅开放 UDP 41641)并将 Gateway 绑定到回环后,您将获得强大的纵深防御:公共流量在网络边缘被阻止,管理访问通过您的 tailnet 进行。

这种设置通常消除了_需要_额外的基于主机的防火墙规则来纯粹阻止互联网范围的 SSH 暴力破解的需求 — 但您仍应保持操作系统更新,运行 openclaw security audit,并验证您没有意外监听公共接口。

已受保护的内容

传统步骤是否需要原因
UFW 防火墙VCN 在流量到达实例前已阻止
fail2ban如果 VCN 已阻止 22 端口则无暴力破解
sshd 加固Tailscale SSH 不使用 sshd
禁用 root 登录Tailscale 使用 Tailscale 身份,而非系统用户
仅 SSH 密钥认证Tailscale 通过 tailnet 进行认证
IPv6 加固通常不需要取决于您的 VCN/子网设置;验证实际分配/暴露的内容

仍然推荐

  • 凭证权限: chmod 700 ~/.openclaw
  • 安全审计: openclaw security audit
  • 系统更新: 定期 sudo apt update && sudo apt upgrade
  • 监控 Tailscale:Tailscale 管理控制台 中查看设备

验证安全状态

bash
# Confirm no public ports listening
sudo ss -tlnp | grep -v '127.0.0.1\|::1'

# Verify Tailscale SSH is active
tailscale status | grep -q 'offers: ssh' && echo "Tailscale SSH active"

# Optional: disable sshd entirely
sudo systemctl disable --now ssh

备选方案: SSH 隧道

如果 Tailscale Serve 无法工作,请使用 SSH 隧道:

bash
# From your local machine (via Tailscale)
ssh -L 18789:127.0.0.1:18789 ubuntu@openclaw

然后打开 http://localhost:18789


故障排除

实例创建失败 ("Out of capacity")

免费套餐的 ARM 实例很受欢迎。尝试:

  • 不同的可用性域
  • 在非高峰时段重试(清晨)
  • 选择形状时使用 "Always Free" 过滤器

Tailscale 无法连接

bash
# Check status
sudo tailscale status

# Re-authenticate
sudo tailscale up --ssh --hostname=openclaw --reset

Gateway 无法启动

bash
openclaw gateway status
openclaw doctor --non-interactive
journalctl --user -u openclaw-gateway -n 50

无法访问 Control UI

bash
# Verify Tailscale Serve is running
tailscale serve status

# Check gateway is listening
curl http://localhost:18789

# Restart if needed
systemctl --user restart openclaw-gateway

ARM 二进制文件问题

某些工具可能没有 ARM 构建版本。检查:

bash
uname -m  # Should show aarch64

大多数 npm 包都可以正常工作。对于二进制文件,请查找 linux-arm64aarch64 发行版。


持久化

所有状态保存在:

  • ~/.openclaw/ — 配置、凭证、会话数据
  • ~/.openclaw/workspace/ — 工作区(SOUL.md、记忆、产物)

定期备份:

bash
tar -czvf openclaw-backup.tar.gz ~/.openclaw ~/.openclaw/workspace

另请参阅