OracleOracle Cloud
在 Oracle Cloud 的 Always Free ARM 层(最高 4 个 OCPU,24 GB 内存,200 GB 存储)上免费运行持久的 OpenClaw Gateway(网关)。
- Oracle Cloud 帐户(注册)——如果遇到问题,请参阅社区注册指南
- Tailscale 帐户(在 tailscale.com 上免费)
- 一个 SSH 密钥对
- 大约 30 分钟
创建 OCI 实例
- 登录 Oracle Cloud 控制台。
- 导航到 Compute > Instances > Create Instance。
- 配置:
- Name:
openclaw - Image: Ubuntu 24.04 (aarch64)
- Shape:
VM.Standard.A1.Flex(Ampere ARM) - OCPUs: 2(最多 4 个)
- Memory: 12 GB(最多 24 GB)
- Boot volume: 50 GB(最多 200 GB 免费空间)
- SSH key: 添加您的公钥
- Name:
- 点击 Create 并记录公共 IP 地址。
连接并更新系统
Terminal window ssh ubuntu@YOUR_PUBLIC_IPsudo apt update && sudo apt upgrade -ysudo apt install -y build-essentialbuild-essential是编译某些依赖项的 ARM 版本所必需的。配置用户和主机名
Terminal window sudo hostnamectl set-hostname openclawsudo passwd ubuntusudo loginctl enable-linger ubuntu启用 linger 可使用户服务在注销后继续运行。
Tailscale安装 Tailscale
Terminal window curl -fsSL https://tailscale.com/install.sh | shsudo tailscale up --ssh --hostname=openclaw```Tailscale从现在开始,请通过 Tailscale 连接:`ssh ubuntu@openclaw`。OpenClaw安装 OpenClaw
Terminal window curl -fsSL https://openclaw.ai/install.sh | bashsource ~/.bashrc当提示“How do you want to hatch your bot?”时,选择 Do this later。
配置 Gateway
使用令牌认证结合 Tailscale Serve 以实现安全的远程访问。
Terminal window openclaw config set gateway.bind loopbackopenclaw config set gateway.auth.mode tokenopenclaw doctor --generate-gateway-tokenopenclaw config set gateway.tailscale.mode serveopenclaw config set gateway.trustedProxies '["127.0.0.1"]'systemctl --user restart openclaw-gateway.service此处的
gateway.trustedProxies=["127.0.0.1"]Tailscale 仅用于本地 Tailscale Serve 代理的转发 IP/本地客户端处理。它不是gateway.auth.mode: "trusted-proxy"。在此配置中,Diff 查看器路由保持故障关闭行为:没有转发代理头的原始127.0.0.1查看器请求可能会返回Diff not found。使用mode=file/mode=both处理附件,或者如果您需要可共享的查看器链接,请有意启用远程查看器并设置plugins.entries.diffs.config.viewerBaseUrl(或传递代理baseUrl)。
<Step title=“锁定 VCN 安全”Tailscale> 在网络边缘拦截除 Tailscale 之外的所有流量:
1. 在 OCI 控制台中,前往 **Networking > Virtual Cloud Networks**。2. 点击您的 VCN,然后点击 **Security Lists > Default Security List**。3. **移除**除了 `0.0.0.0/0 UDP 41641`TailscaleTailscale (Tailscale) 之外的所有入站规则。4. 保留默认的出站规则(允许所有出站流量)。
这会在网络边缘屏蔽端口 22 上的 SSH、HTTP、HTTPS 以及其他所有内容。从此时起,您只能通过 Tailscale 进行连接。验证
openclaw --versionsystemctl --user status openclaw-gateway.servicetailscale serve statuscurl http://localhost:18789从您 tailnet 上的任何设备访问控制 UI:
https://openclaw..ts.net/ ```
将 `替换为您的 tailnet 名称(在tailscale status` 中可见)。
验证安全态势
Section titled “验证安全态势”由于 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 管理控制台 中检查设备。
快速验证命令:
# Confirm no public ports are listeningsudo ss -tlnp | grep -v '127.0.0.1\|::1'
# Verify Tailscale SSH is activetailscale status | grep -q 'offers: ssh' && echo "Tailscale SSH active"
# Optional: disable sshd entirely once Tailscale SSH is confirmed workingsudo systemctl disable --now sshARM 说明
Section titled “ARM 说明”Always Free 层是 ARM (aarch64)。大多数 OpenClaw 功能运行良好;少量原生二进制文件需要 ARM 构建:
- Node.js、Telegram、WhatsApp (Baileys):纯 JavaScript,没有问题。
- 大多数带有原生代码的 npm 包:提供预构建的
linux-arm64制品。 - 可选的 CLI 辅助工具(例如技能附带的 Go/Rust 二进制文件):在安装之前检查是否有
aarch64/linux-arm64版本。
使用 uname -m 验证架构(应该打印 aarch64)。对于没有 ARM 构建的二进制文件,请从源代码安装或跳过它们。
持久化和备份
Section titled “持久化和备份”OpenClaw 状态位于:
~/.openclaw/—openclaw.json,每个代理的auth-profiles.json,渠道/提供商状态和会话数据。~/.openclaw/workspace/— 代理工作区(SOUL.md、记忆、制品)。
这些内容在重启后仍然保留。要创建可移植的快照:
openclaw backup create回退方案:SSH 隧道
Section titled “回退方案:SSH 隧道”如果 Tailscale Serve 不工作,请从本地计算机使用 SSH 隧道:
ssh -L 18789:127.0.0.1:18789 ubuntu@openclaw然后打开 http://localhost:18789。
实例创建失败(“容量不足”) — 免费层 ARM 实例很受欢迎。请尝试不同的可用性域或在非高峰时段重试。
Tailscale 无法连接 — 运行 Tailscalesudo tailscale up --ssh --hostname=openclaw --reset 以重新进行身份验证。
Gateway(网关) 无法启动 — 运行 Gateway(网关)openclaw doctor --non-interactive 并使用 journalctl --user -u openclaw-gateway.service -n 50 检查日志。
ARM 二进制文件问题 — 大多数 npm 包在 ARM64 上运行。对于原生二进制文件,请查找 npmlinux-arm64 或 aarch64 版本。使用 uname -m 验证架构。
- Channels — 连接 Telegram、WhatsApp、Discord 等
- Gateway(网关) configuration — 所有配置选项
- Updating — 保持 OpenClaw 为最新版本