在Oracle Cloud 上运行OpenClaw(OCI)

目标

?Oracle Cloud ?始终免费* ARM 层上运行永续?OpenClaw Gateway?

Oracle 的免费层对于 OpenClaw 来说可能是一个很好的选择(特别是如果您已?OCI 账户),但有一些取舍:

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

成本对比?026 年)

提供?套餐规格月费备注
Oracle Cloud始终免费 ARM最?4 OCPU, 24GB RAM$0ARM,容量有?
HetznerCX222 vCPU, 4GB RAM~ $4最便宜的付费选项
DigitalOceanBasic1 vCPU, 1GB RAM$6简?UI,文档完?
VultrCloud Compute1 vCPU, 1GB RAM$6多个位置
LinodeNanode1 vCPU, 1GB RAM$5现为 Akamai 的一部分

前提条件

1) 创建 OCI 实例

  1. 登录 Oracle Cloud 控制台
  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
  5. 记录公网 IP 地址

*提示? 如果实例创建失败显示 “Out of capacity”,请尝试不同的可用域或稍后重试。免费层容量有限?

2) 连接并更?

# 通过公网 IP 连接
ssh ubuntu@YOUR_PUBLIC_IP

# 更新系统
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential

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

3) 配置用户和主机名

# 设置主机?
sudo hostnamectl set-hostname openclaw

# ?ubuntu 用户设置密码
sudo passwd ubuntu

# 启用 lingering(保持用户服务在登出后继续运行)
sudo loginctl enable-linger ubuntu

4) 安装 Tailscale

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

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

验证?

tailscale status

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

5) 安装 OpenClaw

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(loopback + token 认证)并启用 Tailscale Serve

使用 token 认证作为默认值。它是可预测的,无需任何”不安全认?控制 UI 标志?

# ?Gateway 保留?VM 上私?
openclaw config set gateway.bind loopback

# ?Gateway + 控制 UI 要求认证
openclaw config set gateway.auth.mode token
openclaw doctor --generate-gateway-token

# 通过 Tailscale Serve 公开(HTTPS + tailnet 访问?
openclaw config set gateway.tailscale.mode serve
openclaw config set gateway.trustedProxies '["127.0.0.1"]'

systemctl --user restart openclaw-gateway

7) 验证

# 检查版?
openclaw --version

# 检查守护进程状?
systemctl --user status openclaw-gateway

# 检?Tailscale Serve
tailscale serve status

# 测试本地响应
curl http://localhost:18789

8) 锁定 VCN 安全

一切正常运作后,锁?VCN 以阻止除 Tailscale 外的所有流量。OCI 的虚拟云网络在网络边缘充当防火墙 ?流量在到达您的实例前被阻止?

  1. ?OCI 控制台中进入 Networking ?Virtual Cloud Networks
  2. 点击您的 VCN ?Security Lists ?Default Security List
  3. 删除所有入站规则,除了?
    • 0.0.0.0/0 UDP 41641 (Tailscale)
  4. 保留默认出站规则(允许所有出站)

这将阻止 SSH 端口 22、HTTP、HTTPS 和网络边缘的其他所有内容。从现在开始,您只能通过 Tailscale 连接?


访问控制 UI

?Tailscale 网络上的任何设备?

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

?<tailnet-name> 替换为您?tailnet 名称(可?tailscale status 中查看)?

无需 SSH 隧道。Tailscale 提供?

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

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

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

此设置通常可以消除对额外基于主机的防火墙规则的需求,仅用于阻止互联网范围?SSH 暴力破解 ?但您仍应保持操作系统更新,运?openclaw security audit,并验证您没有意外监听公共接口?

已受保护的内?

传统步骤需要?原因
UFW 防火??VCN 在流量到达实例前阻止
fail2ban?如果端口 22 ?VCN 阻止,则无暴力破?
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 管理控制台 中检查设?

验证安全态势

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

# 验证 Tailscale SSH 处于活动状?
tailscale status | grep -q 'offers: ssh' && echo "Tailscale SSH 处于活动状?

# 可选:完全禁用 sshd
sudo systemctl disable --now ssh

后备方案:SSH 隧道

如果 Tailscale Serve 不起作用,请使用 SSH 隧道?

# 从本地机器(通过 Tailscale?
ssh -L 18789:127.0.0.1:18789 ubuntu@openclaw

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


故障排除

实例创建失败?Out of capacity”?

免费?ARM 实例很受欢迎。请尝试?

  • 不同的可用域
  • 在非高峰时段重试(凌晨)
  • 选择规格时使?始终免费”筛选器

Tailscale 无法连接

# 检查状?
sudo tailscale status

# 重新认证
sudo tailscale up --ssh --hostname=openclaw --reset

Gateway 无法启动

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

无法访问控制 UI

# 验证 Tailscale Serve 正在运行
tailscale serve status

# 检?gateway 是否在监?
curl http://localhost:18789

# 如需要则重启
systemctl --user restart openclaw-gateway

ARM 二进制问?

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

uname -m  # 应显?aarch64

大多?npm 包都能正常工作。对于二进制文件,请查找 linux-arm64 ?aarch64 发布版本?


持久?

所有状态存储在?

  • ~/.openclaw/ ?配置、凭据、会话数?
  • ~/.openclaw/workspace/ ?工作区(SOUL.md、memory、artifacts?

定期备份?

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

另请参阅