Ansible
使用 openclaw-ansible 将 OpenClaw 部署到生产服务器 —— 这是一个具有安全优先架构的自动安装程序。
| 需求 | 详情 |
|---|---|
| 操作系统 | Debian 11+ 或 Ubuntu 20.04+ |
| 访问权限 | Root 或 sudo 权限 |
| 网络 | 用于安装软件包的互联网连接 |
| Ansible | 2.14+(由快速启动脚本自动安装) |
- 防火墙优先的安全 —— UFW + Docker 隔离(仅 SSH + Tailscale 可访问)
- Tailscale VPN —— 安全的远程访问,无需公开暴露服务
- Docker —— 隔离的沙箱容器,仅本地主机绑定
- 深度防御 —— 4 层安全架构
- Systemd 集成 —— 开机自动启动并包含安全加固
- 一键设置 —— 数分钟内完成完整部署
一键安装:
curl -fsSL https://raw.githubusercontent.com/openclaw/openclaw-ansible/main/install.sh | bash该 Ansible playbook 将安装并配置:
- Tailscale —— 用于安全远程访问的网状 VPN
- UFW 防火墙 —— 仅开放 SSH 和 Tailscale 端口
- Docker CE + Compose V2 —— 用于默认的代理沙箱后端
- Node.js 24 + pnpm — 运行时依赖(Node 22 LTS,目前为
22.19+,仍受支持) - OpenClaw —— 基于主机,未容器化
- Systemd 服务 —— 开机自动启动并包含安全加固
切换到 openclaw 用户
bash sudo -i -u openclaw运行新手引导向导
安装后脚本将引导您配置 OpenClaw 设置。
连接消息提供商
登录 WhatsApp、Telegram、Discord 或 Signal:
bash openclaw channels login验证安装
bash sudo systemctl status openclaw sudo journalctl -u openclaw -fTailscale连接到 Tailscale
加入您的 VPN 网络以实现安全的远程访问。
# Check service statussudo systemctl status openclaw
# View live logssudo journalctl -u openclaw -f
# Restart gatewaysudo systemctl restart openclaw
# Provider login (run as openclaw user)sudo -i -u openclawopenclaw channels login该部署使用了 4 层防御模型:
- 防火墙 (UFW) — 仅公开 SSH (22) + Tailscale (41641/udp)
- VPN (Tailscale) — 网关只能通过 VPN 网络访问
- Docker 隔离 — DOCKER-USER iptables 链防止外部端口暴露
- Systemd 加固 — NoNewPrivileges、PrivateTmp、非特权用户
要验证您的外部攻击面:
nmap -p- YOUR_SERVER_IP仅端口 22 (SSH) 应该是开放的。所有其他服务(网关、Docker)均已锁定。
安装 Docker 是为了 Agent 沙箱(隔离工具执行),而不是为了运行网关本身。有关沙箱配置,请参阅 多 Agent 沙箱和工具。
如果您更喜欢手动控制而非自动化:
安装先决条件
Terminal window sudo apt update && sudo apt install -y ansible git克隆仓库
Terminal window git clone https://github.com/openclaw/openclaw-ansible.gitcd openclaw-ansibleAnsible安装 Ansible 集合
Terminal window ansible-galaxy collection install -r requirements.yml运行 playbook
Terminal window ./run-playbook.sh或者,直接运行,然后手动执行后续的设置脚本:
/tmp/openclaw-setup.sh ansible-playbook playbook.yml --ask-become-pass
Ansible 安装程序将 OpenClaw 配置为手动更新。有关标准更新流程,请参阅 更新。
要重新运行 Ansible playbook(例如,用于更改配置):
cd openclaw-ansible./run-playbook.sh这是幂等的,可以安全地多次运行。
防火墙阻止了我的连接
- 确保您首先可以通过 Tailscale VPN 访问
- 始终允许 SSH 访问(端口 22)
- 根据设计,网关只能通过 Tailscale 访问
服务无法启动
# Check logssudo journalctl -u openclaw -n 100
# Verify permissionssudo ls -la /opt/openclaw
# Test manual startsudo -i -u openclawcd ~/openclawopenclaw gateway runDocker sandbox issues
# Verify Docker is runningsudo systemctl status docker
# Check sandbox imagesudo docker images | grep openclaw-sandbox
# Build sandbox image if missing (requires source checkout)cd /opt/openclaw/openclawsudo -u openclaw ./scripts/sandbox-setup.sh# For npm installs without a source checkout, see# https://docs.openclaw.ai/gateway/sandboxing#images-and-setup提供商登录失败
确保您以 openclaw 用户身份运行:
sudo -i -u openclawopenclaw channels login有关详细的安全架构和故障排除,请参阅 openclaw-ansible 仓库:
- openclaw-ansible — 完整部署指南
- Docker — 容器化网关设置
- 沙箱隔离 — 代理沙箱配置
- 多代理沙箱和工具 — 每个代理的隔离