在 Oracle Cloud (OCI) 上執行 OpenClaw
目標
在 Oracle Cloud 的 Always Free ARM 方案上運行常駐的 OpenClaw Gateway。
Oracle 的免費方案很適合 OpenClaw(尤其是你已有 OCI 帳號的話),但有一些取捨:
- ARM 架構(多數工具可正常運作,但部分執行檔可能僅有 x86 版本)
- 容量與註冊流程可能不太順利
費用比較(2026)
| 供應商 | 方案 | 規格 | 月費 | 備註 |
|---|---|---|---|---|
| Oracle Cloud | Always Free ARM | 最多 4 OCPU、24GB RAM | $0 | ARM,容量有限 |
| Hetzner | CX22 | 2 vCPU、4GB RAM | ~ $4 | 最便宜的付費選項 |
| DigitalOcean | Basic | 1 vCPU、1GB RAM | $6 | 介面簡潔,文件完善 |
| 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 Console
- 前往 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 位址
提示: 若建立失敗並顯示「Out of capacity」,嘗試不同的可用性網域或稍後重試。免費方案的容量有限。
2) 連線並更新
# 以公用 IP 連線
ssh ubuntu@YOUR_PUBLIC_IP
# 更新系統
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential
注意: ARM 架構下部分相依套件需要 build-essential 進行編譯。
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 驗證。行為可預期,且不需要任何「不安全驗證」的 Control UI 旗標。
# 讓 Gateway 在 VM 上保持私密
openclaw config set gateway.bind loopback
# 要求 Gateway + Control 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 Console 中前往 Networking → Virtual Cloud Networks
- 點選你的 VCN → Security Lists → Default Security List
- 移除所有輸入規則,僅保留:
0.0.0.0/0 UDP 41641(Tailscale)
- 保留預設的輸出規則(允許所有出站)
這會在網路邊界阻擋 SSH 22 埠、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 綁定 loopback 的情況下,你擁有縱深防禦:公開流量在網路邊界被阻擋,管理存取透過 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 管理主控台 檢視裝置
驗證安全狀態
# 確認沒有公用連接埠在監聽
sudo ss -tlnp | grep -v '127.0.0.1\|::1'
# 驗證 Tailscale SSH 已啟用
tailscale status | grep -q 'offers: ssh' && echo "Tailscale SSH active"
# 選用:完全停用 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 執行個體很搶手,試試:
- 不同的可用性網域
- 離峰時段重試(清晨)
- 選擇 shape 時使用「Always Free」篩選條件
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
無法連上 Control 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、記憶、產出物)
建議定期備份:
tar -czvf openclaw-backup.tar.gz ~/.openclaw ~/.openclaw/workspace
另請參閱
- Gateway 遠端存取 — 其他遠端存取模式
- Tailscale 整合 — 完整 Tailscale 文件
- Gateway 設定 — 所有設定選項
- DigitalOcean 指南 — 付費但註冊更簡單
- Hetzner 指南 — 基於 Docker 的替代方案