在Oracle Cloud 上运行OpenClaw(OCI)
目标
?Oracle Cloud ?始终免费* ARM 层上运行永续?OpenClaw Gateway?
Oracle 的免费层对于 OpenClaw 来说可能是一个很好的选择(特别是如果您已?OCI 账户),但有一些取舍:
- ARM 架构(大多数功能正常,但某些二进制文件可能仅支持 x86?
- 容量和注册可能不太稳?
成本对比?026 年)
| 提供? | 套餐 | 规格 | 月费 | 备注 |
|---|---|---|---|---|
| Oracle Cloud | 始终免费 ARM | 最?4 OCPU, 24GB RAM | $0 | ARM,容量有? |
| Hetzner | CX22 | 2 vCPU, 4GB RAM | ~ $4 | 最便宜的付费选项 |
| DigitalOcean | Basic | 1 vCPU, 1GB RAM | $6 | 简?UI,文档完? |
| Vultr | Cloud Compute | 1 vCPU, 1GB RAM | $6 | 多个位置 |
| Linode | Nanode | 1 vCPU, 1GB RAM | $5 | 现为 Akamai 的一部分 |
前提条件
- Oracle Cloud 账户(注册)?如果遇到问题请参阅社区注册指南?
- Tailscale 账户(免费注册于 tailscale.com?
- ?30 分钟
1) 创建 OCI 实例
- 登录 Oracle Cloud 控制台
- 导航?Compute ?Instances ?Create Instance
- 配置?
- *名称?
openclaw - *镜像? Ubuntu 24.04 (aarch64)
- *规格?
VM.Standard.A1.Flex(Ampere ARM) - *OCPU? 2(最?4?
- *内存? 12 GB(最?24 GB?
- 启动卷: 50 GB(最?200 GB 免费?
- *SSH 密钥? 添加您的公钥
- *名称?
- 点击 Create
- 记录公网 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 的虚拟云网络在网络边缘充当防火墙 ?流量在到达您的实例前被阻止?
- ?OCI 控制台中进入 Networking ?Virtual Cloud Networks
- 点击您的 VCN ?Security Lists ?Default Security List
- 删除所有入站规则,除了?
0.0.0.0/0 UDP 41641(Tailscale)
- 保留默认出站规则(允许所有出站)
这将阻止 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
另请参阅
- Gateway 远程访问 ?其他远程访问模式
- Tailscale 集成 ?完整 Tailscale 文档
- Gateway 配置 ?所有配置选项
- DigitalOcean 指南 ?如果您想要付?+ 更简单的注册
- Hetzner 指南 ?基于 Docker 的替代方?