阿里云2核2G服务器玩转OpenClaw:Docker安全部署完全指南

阿里云2核2G服务器玩转OpenClaw:Docker安全部署完全指南SSH 隧道 容器隔离双重防护 新手也能轻松上手 低配置也有高安全 本教程将带你从零开始在阿里云服务器上部署 OpenClaw 采用 Docker 容器化方案实现环境隔离 并通过 SSH 隧道安全访问管理界面 文章包含完整的命令代码 故障排查方案和安全加固建议 适合有一定 Linux 基础的用户 Docker 容器化部署相比直接在服务器上安装 具有以下核心安全优势 安全特性 Docker 部署

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



SSH隧道+容器隔离双重防护,新手也能轻松上手,低配置也有高安全


本教程将带你从零开始在阿里云服务器上部署 OpenClaw,采用 Docker 容器化方案实现环境隔离,并通过 SSH 隧道安全访问管理界面。文章包含完整的命令代码、故障排查方案和安全加固建议,适合有一定 Linux 基础的用户。


Docker容器化部署相比直接在服务器上安装,具有以下核心安全优势:

安全特性 Docker部署 直接部署 权限隔离 容器内进程被限制,无法操作宿主机 进程直接运行在宿主机,被攻破即全盘沦陷 文件系统保护 根文件系统只读,恶意代码无法写入 任意文件可读写,易被植入后门 资源限制 可限制CPU/内存,防止挖矿等攻击 无限制,恶意程序可耗尽资源 快速恢复 容器被污染后秒级重建 需要重装系统或逐文件排查

根据国家互联网应急中心(CNCERT)与中国网络空间安全协会联合发布的《OpenClaw安全使用实践指南》,Docker容器化是推荐的隔离方案之一,可有效防止攻击者从OpenClaw突破到宿主机。


登录服务器,确认系统信息:

# 登录服务器(注意端口号) ssh -p 23561 root@你的服务器IP # 确认系统版本 cat /etc/os-release 

本教程基于 Alibaba Cloud Linux 3(兼容CentOS 8)环境编写,其他Linux发行版可适当调整命令。

# 创建OpenClaw专用目录 mkdir -p /opt/openclaw/config /opt/openclaw/logs cd /opt/openclaw 

2核2G内存运行Docker可能紧张,建议增加SWAP空间:

# 增加2GB swap空间 dd if=/dev/zero of=/swapfile bs=1M count=2048 chmod 600 /swapfile mkswap /swapfile swapon /swapfile echo '/swapfile none swap sw 0 0' >> /etc/fstab # 验证swap已启用 free -h 

# 安装dnf源兼容插件(关键步骤) sudo dnf -y install dnf-plugin-releasever-adapter --repo alinux3-plus # 添加Docker官方源 sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo 
# 安装Docker及相关组件 sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # 启动Docker sudo systemctl start docker sudo systemctl enable docker # 验证安装(示例输出,实际版本号可能更高) docker --version # 示例输出:Docker version 26.1.3, build b72abbb docker compose version # 示例输出:Docker Compose version v2.27.0 

📌 说明:以上版本号为示例,实际安装时版本号可能更高,以你服务器实际输出为准,不影响后续使用。


国内访问Docker Hub较慢,配置镜像加速器可大幅提升镜像拉取速度。

# 创建配置文件 mkdir -p /etc/docker tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [ "https://registry.cn-hangzhou.aliyuncs.com", "https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com" ] } EOF # 重启Docker使配置生效 sudo systemctl daemon-reload sudo systemctl restart docker # 验证加速是否生效 docker info | grep "Registry Mirrors" -A 5 

如果看到配置的镜像源地址,说明加速已生效。


cat > /opt/openclaw/config/openclaw.json << 'EOF' { "gateway": { "bind": "0.0.0.0", "port": 18789, "auth": { "mode": "token" } } } EOF 

⚠️ 重要说明

  • bind: "0.0.0.0" 允许容器外访问(必须配置)
  • 不要添加 controlUiagentstoolsapprovals 等旧版配置字段,否则容器无法启动
  • 新版OpenClaw会自动处理安全配置,最简配置即可正常运行
cat > /opt/openclaw/docker-compose.yml << 'EOF' services: openclaw: image: ghcr.io/openclaw/openclaw:latest container_name: openclaw-gateway restart: unless-stopped # ===== 安全加固配置 ===== cap_drop: - ALL # 丢弃所有Linux Capabilities read_only: true # 只读根文件系统 user: "1000:1000" # 非root用户运行 security_opt: - no-new-privileges:true # 禁止获取新权限 # ===== 网络配置 ===== ports: - "127.0.0.1:23478:18789" # ===== 数据持久化 ===== volumes: - ./config:/home/node/.openclaw:ro - ./logs:/home/node/logs:rw tmpfs: - /tmp:rw,noexec,nosuid,size=256m # ===== 环境变量 ===== environment: - NODE_ENV=production - LOG_LEVEL=info - OPENCLAW_GATEWAY_TOKEN=${OPENCLAW_TOKEN} # ===== 资源限制(适配2核2G)===== deploy: resources: limits: memory: 1536M networks: default: driver: bridge EOF 
# 生成随机Token(保存好,只显示一次) echo "OPENCLAW_TOKEN=$(openssl rand -hex 32)" > /opt/openclaw/.env # 设置权限(仅所有者可读) chmod 600 /opt/openclaw/.env # 查看并保存Token cat /opt/openclaw/.env 

⚠️ 重要:输出的Token请妥善保存,后续登录需要用到。

cd /opt/openclaw docker compose up -d 
# 查看容器状态 docker compose ps # 测试服务是否正常(关键步骤) curl http://localhost:23478/health 

成功输出{"ok":true,"status":"live"}

如果返回这个结果,说明部署成功!


OpenClaw端口只绑定到127.0.0.1,无法直接从公网访问。需要通过SSH隧道将远程端口映射到本地。

Windows(PowerShell或CMD)

ssh -p 23561 -L 18789:127.0.0.1:23478 root@你的服务器IP -N 

macOS / Linux

ssh -p 23561 -L 18789:127.0.0.1:23478 root@你的服务器IP -N 

参数说明

  • -p 23561:指定SSH端口
  • -L 18789:127.0.0.1:23478:将本地18789端口转发到服务器的23478端口
  • -N必须加,不执行远程命令,只做端口转发

⚠️ 重要提示

  • 执行后终端会卡住不动,这是正常现象,表示隧道正在运行
  • 请保持这个终端窗口打开,关闭后隧道会断开
  • 不要忘记 -N 参数,否则会登录到服务器而不是建立隧道

打开浏览器,访问:

http://localhost:18789 

页面会提示输入Gateway Token,输入之前在.env文件中生成的Token即可登录。


登录阿里云控制台 → 云服务器ECS → 安全组:

入方向规则

端口范围 授权对象 说明 23561(TCP) 你的家庭公网IP SSH管理(建议限制来源IP) 23478(TCP) 不开放 通过SSH隧道访问,无需开放

⚠️ 关键不要在安全组中开放23478端口!只通过SSH隧道访问。


# 进入项目目录 cd /opt/openclaw # 查看容器状态 docker compose ps # 查看实时日志 docker compose logs -f # 重启服务 docker compose restart # 停止服务 docker compose down # 启动服务 docker compose up -d # 更新镜像 docker compose pull docker compose up -d # 查看Token cat /opt/openclaw/.env 

原因:配置文件包含旧版不兼容的字段

解决方法

# 确保配置文件只有gateway配置 cat > /opt/openclaw/config/openclaw.json << 'EOF' { "gateway": { "bind": "0.0.0.0", "port": 18789, "auth": { "mode": "token" } } } EOF # 重启容器 docker compose restart 

原因:服务未正常启动

解决方法

# 查看日志定位问题 docker compose logs –tail=50

# 确认配置文件正确 cat /opt/openclaw/config/openclaw.json

# 重启容器 docker compose restart sleep 5 curl http://localhost:23478/health

原因:SSH隧道命令忘记加 -N 参数

解决方法

# 正确命令(本地电脑执行,注意加 -N) ssh -p 23561 -L 18789:127.0.0.1:23478 root@你的服务器IP -N 

解决方法

# 使用国内镜像加速(已配置) # 或手动拉取 docker compose pull

# 重新启动 docker compose up -d

# 检查端口是否被占用 netstat -tlnp | grep 23478

# 如果被占用,修改docker-compose.yml中的端口 # 将 “127.0.0.1:23478:18789” 改为 “127.0.0.1:新端口:18789”


错误配置 后果 正确做法 添加 agents.defaults.workspacePath 容器无法启动 只保留 gateway 配置 添加 tools.allow / tools.deny 容器无法启动 新版自动处理,无需配置 添加 controlUi.allowedOrigins 容器无法启动 新版自动添加白名单 bind: “loopback” 容器外无法访问 使用 bind: “0.0.0.0” SSH命令忘记 -N 隧道不生效 必须加 -N 参数 安全组开放23478端口 暴露服务,增加风险 不开放,只用SSH隧道

安全措施 配置位置 状态 修改默认端口 ports: 23478:18789 ✅ 仅本地监听 127.0.0.1:23478 ✅ SSH隧道访问 不在安全组开放端口 ✅ Token认证 .env随机Token ✅ 容器非root运行 user: “1000:1000” ✅ 只读根文件系统 read_only: true ✅ 资源限制 deploy.resources.limits.memory

本教程参考了以下官方文档和安全指南:

  1. 国家互联网应急中心(CNCERT)与中国网络空间安全协会:《OpenClaw安全使用实践指南》(2026年3月22日联合发布)
    • 来源:news.dayoo.com/finance/202…
  2. 华为云帮助中心:《OpenClaw 开始使用》文档
    • 来源:support.huaweicloud.com/openclaw-ai…
  3. 华为云帮助中心:《OpenClaw 准备工作》文档
    • 来源:support.huaweicloud.com/openclaw-ai…
  4. 阿里云容器镜像服务:《官方镜像加速》文档
    • 来源:help.aliyun.com/zh/acr/user…
  5. OpenClaw官方文档:《Docker部署指南》
    • 来源:docs.openclaw.ai/install/doc…

部署完成后,你就可以通过 http://localhost:18789 安全地访问OpenClaw管理界面了。

如果在配置过程中遇到任何问题,可以查阅上述参考资料或根据报错信息进行排查。


版权声明:本文为原创技术教程,欢迎转载,请注明出处。 更新日期:2026年4月8日

小讯
上一篇 2026-04-25 12:14
下一篇 2026-04-25 12:12

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/273970.html