Skip to main content

在 Oracle 云(OCI)上运行 OpenClaw

目标

在 Oracle Cloud 的“始终免费”ARM层上运行一个持久的 OpenClaw 网关。 Oracle 的免费层非常适合 OpenClaw(尤其是如果你已经拥有 OCI 账户),但这也带来了一些权衡:
  • ARM架构(大多数功能正常,但某些二进制文件可能仅支持x86)
  • 容量和注册可能会比较棘手

成本对比(2026年)

供应商方案规格月费备注
Oracle CloudAlways Free ARM最高 4 OCPU,24GB RAM$0ARM,容量有限
HetznerCX222 vCPU,4GB RAM~ $4最便宜的付费方案
DigitalOceanBasic1 vCPU,1GB RAM$6易用的界面,文档完善
VultrCloud Compute1 vCPU,1GB RAM$6数据中心分布广泛
LinodeNanode1 vCPU,1GB RAM$5现为 Akamai 旗下

先决条件

1) 创建 OCI 实例

  1. 登录 Oracle Cloud 控制台
  2. 导航到计算 → 实例 → 创建实例
  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. 点击创建
  5. 记下公网 IP 地址
提示: 如果实例创建失败并显示“容量不足”,请尝试选择不同的可用性域,或稍后再试。免费层的容量有限。

2) 连接并更新

# 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) 配置用户和主机名

# 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

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up --ssh --hostname=openclaw
这将启用 Tailscale SSH,因此你可以通过 ssh openclaw 从你尾网中的任何设备连接——无需公网 IP。 验证:
tailscale status
从现在起,通过 Tailscale 连接: ssh ubuntu@openclaw(或使用 Tailscale IP)。

5) 安装 OpenClaw

curl -fsSL https://openclaw.bot/install.sh | bash
source ~/.bashrc
当系统提示“你想如何孵化你的机器人?”时,选择“稍后操作”。 注意:如果遇到 ARM 原生构建问题,请先尝试使用系统包(例如 sudo apt install -y build-essential),再考虑使用 Homebrew。

6) 配置网关(环回 + 令牌认证)并启用 Tailscale Serve

默认使用令牌认证。这种方式更可靠,且无需使用任何“不安全认证”的 Control UI 标志。
# 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) 验证

# 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的虚拟云网络充当网络边缘的防火墙——流量在到达您的实例之前就被拦截。
  1. 在 OCI 控制台中,转到网络 → 虚拟云网络
  2. 点击您的 VCN → 安全列表 → 默认安全列表。
  3. 移除所有入站规则,仅保留:
    • 0.0.0.0/0 UDP 41641(Tailscale)
  4. 保留默认出站规则(允许所有出站流量)。
这将阻止端口22上的SSH、HTTP、HTTPS以及其他所有流量在网络边缘被拦截。从现在起,你只能通过Tailscale连接。

访问控制界面

从你 Tailscale 网络中的任何设备:
https://openclaw.<tailnet-name>.ts.net/
<tailnet-name> 替换为你尾网的名称(可在 tailscale status 中查看)。 无需 SSH 隧道。Tailscale 提供:
  • HTTPS加密(自动证书)
  • 通过Tailscale身份进行身份验证
  • 可从你尾网中的任何设备(笔记本电脑、手机等)访问

安全:VCN + Tailscale(推荐基线)

通过锁定VCN(仅开放UDP 41641)并将网关绑定到环回地址,你可以构建强大的纵深防御:公共流量在网络边缘被拦截,而管理访问则通过你的尾网进行。 这种设置通常可以消除单纯为了阻止互联网范围内的 SSH 暴力破解而额外配置基于主机的防火墙规则的需求——但你仍应保持操作系统更新,运行 openclaw security audit,并确保你没有意外监听公共接口。

已受保护的内容

传统步骤是否需要?为什么
UFW 防火墙VCN 在流量到达实例之前就已拦截
fail2ban如果 VCN 已封锁端口 22,则不存在暴力破解风险
sshd 强化Tailscale SSH 不使用 sshd
禁用 root 登录Tailscale 使用 Tailscale 身份,而非系统用户
仅限 SSH 密钥认证Tailscale 通过你的尾网进行身份验证
IPv6 强化通常不需要取决于你的 VCN/子网设置;需确认实际分配或暴露的内容

仍推荐的操作

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

验证安全状态

# 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 隧道:
# From your local machine (via Tailscale)
ssh -L 18789:127.0.0.1:18789 ubuntu@openclaw
然后打开 http://localhost:18789
故障排除

实例创建失败(“容量不足”)

免费层的 ARM 实例非常受欢迎。可尝试:
  • 更改可用性域
  • 在非高峰时段重试(如清晨)
  • 在选择实例规格时使用“始终免费”筛选器
__HEADING_0__Tailscale 无法连接
# Check status
sudo tailscale status

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

网关无法启动

openclaw gateway status
openclaw doctor --non-interactive
journalctl --user -u openclaw-gateway -n 50
无法访问控制界面
# Verify Tailscale Serve is running
tailscale serve status

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

# Restart if needed
systemctl --user restart openclaw-gateway
__HEADING_0__ARM二进制问题 某些工具可能没有 ARM 版本。请检查:
uname -m  # Should show aarch64
大多数 npm 包运行良好。对于二进制文件,可查找 linux-arm64aarch64 发布版本。

持久性

所有状态存储在:
  • ~/.openclaw/ — 配置、凭据、会话数据
  • ~/.openclaw/workspace/ — 工作空间(SOUL.md、记忆、工件)
请定期备份:
tar -czvf openclaw-backup.tar.gz ~/.openclaw ~/.openclaw/workspace

参见