
继OpenClaw容器化部署方案后,Azure近日又发布了其基于虚拟机的自动化交付新路径,进一步丰富了该项目的云端部署选项。
微软中国战略孵化器(CSI, Microsoft Greater China Strategic Incubator) 作为连接微软核心技术能力与创新生态的重要桥梁,不仅为入孵企业提供 Azure 试用资源,更全方位协助企业对接微软全球技术专家网络、获取前沿架构指导及商业落地支持。我们致力于通过深度赋能,帮助创新团队在安全、稳定且可扩展的 Azure 平台上,将智能体创意快速转化为具有竞争力的商业成果。
如果您计划构建或测试相关应用,欢迎加入孵化器,获取从技术验证到市场拓展的一站式加速支持。
继上一篇“托管容器”方案之后,我们已经将捕获到的“野生龙虾”(OpenClaw)精准装入规格统一、环境可控的“标准容器”中,实现了快速托管。(从本地到云端:Moltbot 在 Azure 上的快速部署 | 微软技术栈)
而本文将介绍第二条更直接、也更具完整控制权的路径。如果说容器化方案更像是为这只“龙虾”准备好了一个标准化、开箱即用的饲养箱,那么基于 Azure 虚拟机的环境自动化交付方案,则更像是为它搭建一套可按需调节、可全程掌控的饲养环境。
本文将展示,如何跳过复杂的容器流水线,通过声明式模板,在 5 分钟内交付一套完整的 OpenClaw 运行环境。
01
衔接:
从“平台托管”到“环境交付”
在上一篇文章中,我们通过 Azure Web App for Containers 走通了容器化上云之路。那条路线的核心在于“轻量化”,更适合追求标准化交付与免运维体验的团队。
然而在实际的 PoC(概念验证)或深度开发场景中,开发者往往还有另一种诉求:能否直接提供一台已经配置完成的主机?
这种需求通常来自以下几点:
希望以更直观的方式查看日志
希望拥有灵活的 SSH 管理权限
希望降低前置配置门槛,尽快获得可运行环境
因此,今天我们介绍第二条路径:基于 Azure 虚拟机(VM)的环境自动化交付方案。如果说容器方案展示的是 Azure 的“平台能力”,那么本篇展示的则是其环境交付效率。
02
决策模型:
为什么你需要第二种方式?
并非所有阶段都适合直接上容器。虚拟机方案在以下场景中,具有不可替代的价值:
01
极致低门槛
无需经历 Docker 镜像构建、ACR 推送以及 WebSocket 适配等流程,只需填写声明式参数,即可获得可用实例。
02
完整控制权
方案提供 SSH 登录能力,支持在系统层面进行细粒度排障、日志分析以及内核级配置管理。
03
多维交付场景:
对外演示:可以快速为客户搭建独立演示环境,更完整地展示产品全貌。
企业内供:企业 IT 或开发团队可借助这一方案,为内部员工统一提供标准化的云端运行环境。这样既能避免员工将 OpenClaw 直接安装在本地环境所带来的管理盲点、数据外泄风险和环境碎片化问题,也能实现更安全、更合规的“按需取用”。
03
技术拆解:
支撑自动化落地的三项能力
Azure 通过自动化模板,将原本分散的主机初始化过程,收敛为一组标准化的“原子操作”:
01
完整运行底座
交付预装 Ubuntu 的环境,同时包含网络入口、持久化存储,以及 OpenClaw 运行所需的全部依赖。
02
自动化模板部署
资源创建、环境初始化、HTTPS 证书准备等环节,统一封装在部署模板中,真正实现基础设施即代码(IaC)。
03
安全管理边界
采用“SSH 验证 + 动态 Token”的访问逻辑,在保障高效交付的同时,也确保管理入口安全可控。
04
部署前置准备
在点击“一键部署”之前,请先确认以下准备工作已经完成:
1
基础环境
Azure 订阅:需要拥有创建 VM 和网络资源的权限。
SSH 密钥对:用于安全登录。如果你还没有密钥,请根据操作系统参考下方步骤生成。
Windows 用户生成密钥
# 生成密钥对ssh-keygen -t ed25519 -C "openclaw-azure"br# 查看并复制公钥内容Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub
macOS / Linux 用户生成密钥
在终端执行:
# 生成密钥对ssh-keygen -t ed25519 -C "openclaw-azure"br# 查看并复制公钥内容cat ~/.ssh/id_ed25519.pub
2
模型参数(可选)
如果您希望部署完成后立即接入 Azure OpenAI,请准备以下信息:
Azure OpenAI 终结点(Endpoint):
例如 https://your-resource.cognitiveservices.azure.com/
模型部署名称 (Deployment Name):例如 gpt-4o
API 密钥 (API Key)
[!IMPORTANT]
关键规则:上述三个参数要么全部填写,要么全部留空,如果不填写仍可部署 OpenClaw,但是无法实现对话,需要后期进入虚拟机手动设置。
05
5 步完成自动化部署
1.开启部署入口:点击 Deploy to Azure 按钮并登录您的账户。
2. 规划资源组策略:建议按环境命名资源组,例如 rg-openclaw-poc,便于成本追踪和资源生命周期管理。
3. 填写部署参数:
vmName:自定义虚拟机名称,如 openclaw-prod-001
adminUsername:SSH 登录用户名(默认 azureuser)
sshPublicKey:粘贴上一步获取的 .pub 文件内容(公钥)
vmSize:虚拟机规格,如 Standard_B2as_v2
模型参数:填入上文准备的可选模型信息。
4. 提交初始化:点击查看 + 创建,等待资源(特别是扩展 openclaw-bootstrap)显示部署成功。
5. 记录部署输出:在部署页面的输出 (Outputs) 项中,保存 vmPublicFqdn(虚拟机公网域名)。
06
访问路径:
先主机,后网页
与容器方案不同,虚拟机路线强调 “管理优先”。
第一步:SSH 登录虚拟机
Windows (PowerShell):
ssh -i "$env:USERPROFILE\.ssh\id_ed25519" azureuser@<您的vmPublicFqdn>macOS / Linux:
ssh -i ~/.ssh/id_ed25519 azureuser@<您的vmPublicFqdn>第二步:获取 Web 控制台地址
登录成功后,在远程终端执行:
openclaw-browser-url
系统将输出类似链接:Dashboard URL: https://your-hostname/#token=...。请复制并在浏览器中打开。
第三步:设备配对授权
如果浏览器提示 pairing required,请保持页面打开,回到 SSH 终端执行:
openclaw-approve-browser
执行完成后刷新浏览器页面即可完成登录。
07
自动化进阶:
使用 Azure CLI 部署
对于习惯脚本化操作的团队,可以直接通过命令行完成部署:
# 1. 登录并创建资源组az loginaz group create --name rg-openclaw-sea --location southeastasiabr# 2. 执行部署az deployment group create \--name openclaw-sea-20260307 \--resource-group rg-openclaw-sea \--template-uri [https://raw.githubusercontent.com/hanhsia/openclaw-azure-deploy/main/azuredeploy.json](https://raw.githubusercontent.com/hanhsia/openclaw-azure-deploy/main/azuredeploy.json) \--parameters \vmName=openclaw-vm-01 \adminUsername=azureuser \sshPublicKey="ssh-ed25519 AAAA..." \vmSize=Standard_B2as_v2 \azureOpenAiEndpoint="[https://your-resource.cognitiveservices.azure.com/](https://your-resource.cognitiveservices.azure.com/)" \azureOpenAiDeployment="gpt-4o" \azureOpenAiApiKey="your-key"br# 3. 查看输出az deployment group show \--name openclaw-sea-20260307 \--resource-group rg-openclaw-sea \--query properties.outputs
08
常见问题排查(FAQ)
01
SSH 报错 Permission denied (publickey)
原因:私钥与公钥不匹配,或未指定私钥路径。
解决:确保 .pub 内容与本地私钥是一对。登录时通过 -i 参数明确指定私钥路径。
02
SSH 报错 UNPROTECTED PRIVATE KEY FILE
原因:私钥文件权限过宽。
解决:
Mac/Linux:
chmod 600 ~/.ssh/id_ed25519Windows:
$Key = "$env:USERPROFILE\.ssh\id_ed25519"icacls $Key /inheritance:ricacls $Key /remove:g "Users""Authenticated Users""Everyone"icacls $Key /grant:r "${env:USERNAME}:R"
03
SSH 报错 REMOTE HOST IDENTIFICATION
HAS CHANGED!
原因:主机重建导致指纹变更。
解决:清理旧记录:ssh-keygen -R
04
无法找到或手动输入 Token?
解决:切勿猜测。必须 SSH 登录主机后运行 openclaw-browser-url 获取完整链接。
05
浏览器显示 pairing required
解决:在 SSH 终端执行 openclaw-approve-browser 授权当前设备。
06
访问报错 502 Bad Gateway
原因:服务尚未完全启动(需等待 1-2 分钟)或服务异常。
排查:执行 sudo systemctl status openclaw-gateway caddy 查看状态。
07
无法连接虚拟机(Timed Out)
解决:检查 Azure 门户中 VM 是否处于 Running 状态,并在 网络 (Networking) 设置中确认已允许
09
总结:
两条路径,按需选择

无论是追求免运维、标准化交付的容器化托管方式,还是强调完整控制权、快速交付与灵活排障的虚拟机自动化环境方案,本质上都服务于同一个目标:让 OpenClaw 能以更适合业务阶段的方式,更快落地到 Azure 上。
Azure 的差异化价值在于:它不仅提供部署的终点,也提供了一条能够随着业务成熟度持续演进的路径。
10
立即行动
让复杂的环境初始化隐藏在模板之后,让您的工作从“服务已经可用”开始。

微软中国战略孵化器
About CSI

微软中国战略孵化器(CSI, Microsoft Greater China Strategic Incubator)是由微软联合顶尖投资机构共同打造的战略级孵化平台和创新生态,致力于推动创业企业高速成长,成就卓越梦想。通过整合微软的前沿技术与全渠道资源,我们为入孵企业提供涵盖技术研发、商业拓展、生态链接及全球市场推广的全方位深度支持。
点击“阅读原文”,加入微软孵化器:
夜雨聆风