
一、为什么选这套 VM 自动化部署方案?
✅ 极致低门槛,零容器基础也能上手
无需经历 Docker 镜像构建、ACR 推送、WebSocket 适配等一系列复杂流程,只需填写几个基础的声明式参数,就能一键获得完整可用的 OpenClaw 实例,把原本数小时的环境搭建工作压缩到 5 分钟内完成,大幅降低上手门槛。
✅ 完整系统控制权,排障开发全自由
方案原生提供 SSH 登录管理能力,你可以直接在系统层面进行细粒度排障、全链路日志分析、内核级配置管理与深度二次开发,彻底告别容器环境的配置限制与排障盲区,所有环境细节尽在掌控。
✅ 全场景适配,满足多元交付需求
- 对外客户演示:可快速为不同客户搭建独立隔离的演示环境,完整展示 OpenClaw 产品全貌,无多租户环境的功能限制;
- 企业内部供给:IT / 开发团队可通过这套方案,为内部员工统一交付标准化的云端运行环境,既避免了本地安装带来的环境碎片化、管理盲点与数据外泄风险,也能实现安全合规的 “按需取用”。
二、核心技术能力
Azure 通过自动化模板,将原本分散的主机创建、环境初始化、依赖安装、安全配置全流程,收敛为一组标准化的原子操作,三大核心能力为极速交付兜底:
完整运行底座:预装Ubuntu系统,内置网络入口、持久化存储及OpenClaw全量运行依赖。
自动化模板部署:全流程基础设施即代码(IaC),封装资源创建、环境初始化、HTTPS证书配置全环节。
安全管理边界:采用「SSH密钥验证+动态Token」双层访问逻辑,兼顾交付效率与入口安全。
三、部署前置准备
一)必选条件
有效Azure订阅,具备VM及网络资源创建权限
SSH密钥对,生成方式如下:
- Windows用户生成密钥
# 生成密钥对ssh-keygen -t ed25519 -C "openclaw-azure"# 查看并复制公钥内容Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub
- macOS/Linux用户生成密钥
# 生成密钥对ssh-keygen -t ed25519 -C "openclaw-azure"# 查看并复制公钥内容cat ~/.ssh/id_ed25519.pub
二)可选条件
若需部署后直接接入Azure OpenAI,需提前准备:Azure OpenAI终结点、模型部署名称、API密钥。
⚠️ 三项参数需全填或全留空,留空需部署后手动配置。
四、5步自动化部署流程
01
进入部署入口
点击「Deploy to Azure」按钮,登录Azure账户。
02
配置资源组
按环境规范命名资源组(示例:rg-openclaw-poc),便于成本管控与生命周期管理。
03
填写部署参数
自定义vmName、adminUsername(默认azureuser)、sshPublicKey、vmSize(示例:Standard_B2as_v2),按需填写Azure OpenAI相关参数。
04
提交部署
点击「查看 + 创建」,等待资源及openclaw-bootstrap扩展部署完成。
05
留存输出信息
在部署页面「输出」项中,保存vmPublicFqdn(虚拟机公网域名)。
五、部署后访问流程
SSH登录虚拟机
- Windows(PowerShell)
ssh -i "$env:USERPROFILE\.ssh\id_ed25519" azureuser@<您的vmPublicFqdn>
- macOS/Linux
ssh -i ~/.ssh/id_ed25519 azureuser@<您的vmPublicFqdn>
2. 获取Web控制台地址:
登录后执行openclaw-browser-url,复制输出的完整Dashboard链接
3. 设备配对授权:
若浏览器提示pairing required,在SSH终端执行openclaw-approve-browser,刷新页面即可完成登录
六、进阶操作:Azure CLI 脚本化部署

七、常见问题排查(FAQ)
SSH 报错:Permission denied (publickey)
原因:公私钥不匹配,或登录时未指定私钥路径
解决:确认粘贴的公钥与本地私钥为同一对,登录命令中通过-i参数明确指定私钥文件路径。
SSH 报错:UNPROTECTED PRIVATE KEY FILE
原因:私钥文件权限过宽,不符合 SSH 安全要求
解决:
Mac/Linux
printf("hello world!");
Windows
$Key = "$env:USERPROFILE\.ssh\id_ed25519"icacls $Key /inheritance:ricacls $Key /remove:g "Users""Authenticated Users""Everyone"icacls $Key /grant:r "${env:USERNAME}:R"
SSH 报错:REMOTE HOST IDENTIFICATION HAS CHANGED!
原因:主机重建导致 SSH 指纹变更
解决:执行ssh-keygen -R <vmPublicFqdn>清理本地旧指纹记录即可。
浏览器提示 pairing required,无法登录
解决:保持浏览器页面打开,在 SSH 终端执行openclaw-approve-browser完成设备授权,刷新页面即可。
访问报错 502 Bad Gateway
原因:服务尚未完全启动(部署完成后需等待 1-2 分钟),或服务运行异常。
排查:SSH 登录后执行sudo systemctl status openclaw-gateway caddy查看服务运行状态。
虚拟机连接超时(Timed Out)
解决:登录 Azure 门户,确认虚拟机处于 Running 运行状态,并在「网络 (Networking)」设置中确认对应端口已放行。
基于 Azure 虚拟机的 OpenClaw 自动化部署方案,核心就是把复杂的环境初始化、依赖配置、安全管控全部隐藏在模板之后,让你跳过所有繁琐的前置工作,直接从 “服务已经可用” 开始,专注于 OpenClaw 本身的能力落地与业务价值挖掘。