Containers
Ansible
使用以安全性為優先架構的自動化安裝程式 openclaw-ansible,將 OpenClaw 部署到正式環境伺服器。
必要條件
| 需求 | 詳細資訊 |
|---|---|
| 作業系統 | Debian 11+ 或 Ubuntu 20.04+ |
| 存取權限 | Root 或 sudo 權限 |
| 網路 | 用於安裝套件的網際網路連線 |
| Ansible | 2.14+(快速入門指令碼會自動安裝) |
你會獲得什麼
- 防火牆優先的安全性:UFW + Docker 隔離(僅可連線至 SSH + Tailscale)
- 使用 Tailscale VPN 進行遠端存取,無須將服務公開
- 使用 Docker 建立僅繫結至 localhost 的隔離沙箱容器
- 整合具安全強化功能的 Systemd,並在開機時自動啟動
- 單一命令完成設定
快速入門
curl -fsSL https://raw.githubusercontent.com/openclaw/openclaw-ansible/main/install.sh | bash安裝內容
- Tailscale(用於安全遠端存取的網狀 VPN)
- UFW 防火牆(僅開放 SSH + Tailscale 連接埠)
- Docker CE + Compose V2(預設的代理程式沙箱後端)
- Node.js 和 pnpm(OpenClaw 需要 Node 22.22.3+、24.15+ 或 25.9+;建議使用 Node 24)
- OpenClaw,安裝於主機上,而非容器中
- 具安全強化功能的 systemd 服務
安裝後設定
切換至 openclaw 使用者
sudo -i -u openclaw執行初始設定精靈
安裝後指令碼會引導你完成 OpenClaw 的設定。
連接訊息頻道
登入 WhatsApp、Telegram、Discord 或 Signal:
openclaw channels login --channel <name>驗證安裝
sudo systemctl status openclawsudo journalctl -u openclaw -f連接至 Tailscale
加入你的 VPN 網狀網路,以進行安全的遠端存取。
快速命令
# 檢查服務狀態sudo systemctl status openclaw # 檢視即時記錄sudo journalctl -u openclaw -f # 重新啟動閘道sudo systemctl restart openclaw # 登入頻道(以 openclaw 使用者身分執行)sudo -i -u openclawopenclaw channels login --channel <name>安全架構
四層防禦模型:
- 防火牆(UFW):僅將 SSH(22)和 Tailscale(41641/udp)公開
- VPN(Tailscale):只能透過 VPN 網狀網路連線至閘道
- Docker 隔離:
DOCKER-USERiptables 鏈可防止連接埠對外開放 - Systemd 安全強化:
NoNewPrivileges、PrivateTmp、非特權使用者
驗證你的外部攻擊面:
nmap -p- YOUR_SERVER_IP只有連接埠 22(SSH)應為開放狀態。閘道和 Docker 會維持封鎖。
Docker 用於代理程式沙箱(隔離的工具執行環境),並非用於執行閘道。沙箱設定請參閱多代理程式沙箱與工具。
手動安裝
安裝必要條件
sudo apt update && sudo apt install -y ansible git複製儲存庫
git clone https://github.com/openclaw/openclaw-ansible.gitcd openclaw-ansible安裝 Ansible 集合
ansible-galaxy collection install -r requirements.yml執行 playbook
./run-playbook.sh或直接執行 playbook,然後手動執行設定指令碼:
ansible-playbook playbook.yml --ask-become-pass# 接著執行:/tmp/openclaw-setup.sh更新
Ansible 安裝程式會將 OpenClaw 設定為手動更新;標準流程請參閱更新。
若要重新執行 playbook(例如在變更設定後):
cd openclaw-ansible./run-playbook.sh此操作具冪等性,可安全地重複執行。
疑難排解
防火牆封鎖我的連線
- 請先透過 Tailscale VPN 連線;依設計,閘道只能透過此方式存取。
- 一律允許 SSH(連接埠 22)。
服務無法啟動
# 檢查記錄sudo journalctl -u openclaw -n 100 # 驗證權限sudo ls -la /opt/openclaw # 測試手動啟動sudo -i -u openclawcd ~/openclawopenclaw gateway runDocker 沙箱問題
# 驗證 Docker 是否正在執行sudo systemctl status docker # 檢查沙箱映像檔sudo docker images | grep openclaw-sandbox # 若缺少沙箱映像檔,請進行建置(需要原始碼簽出)cd /opt/openclaw/openclawsudo -u openclaw ./scripts/sandbox-setup.sh# 若使用 npm 安裝且沒有原始碼簽出,請參閱# https://docs.openclaw.ai/gateway/sandboxing#images-and-setup頻道登入失敗
請確認你是以 openclaw 使用者身分執行:
sudo -i -u openclawopenclaw channels login --channel <name>進階設定
如需詳細的安全架構和疑難排解資訊,請參閱 openclaw-ansible 儲存庫:
相關內容
- openclaw-ansible:完整部署指南
- Docker:容器化閘道設定
- 沙箱:代理程式沙箱設定
- 多代理程式沙箱與工具:各代理程式的隔離設定
Was this useful?