从磁盘创建Azure VM后,如何通过CLI安装Azure Linux Agent(waagent)
嘿,我之前碰到过一模一样的情况——从磁盘创建虚拟机时没法预先设置凭据,结果缺失的VM Agent直接导致SSH连不上。下面一步步教你用Azure CLI安装代理,把问题解决掉。
前置条件
- 已经安装并登录Azure CLI(执行过
az login完成认证) - 知道目标虚拟机的资源组名称和VM名称
- 虚拟机处于运行状态,并且能通过Azure门户的串行控制台访问(既然SSH连不上,这就是你的关键入口)
为Linux虚拟机安装VM Agent(SSH问题最常见场景)
步骤1:获取VM登录权限
如果你还没设置登录凭据,先通过Azure CLI创建一个管理员账号:
az vm user update --resource-group <你的资源组名称> --name <你的VM名称> --username <新管理员用户名> --password <安全密码>
然后打开Azure门户,找到你的VM,进入「支持 + 故障排除」下的「串行控制台」,用刚创建的凭据登录系统。
步骤2:安装Linux VM代理(WALinuxAgent)
登录串行控制台后,执行以下命令(适用于Ubuntu/Debian;如果是RHEL/CentOS,调整安装命令即可):
# 更新包列表 sudo apt update # 安装Azure VM Agent sudo apt install walinuxagent -y # 重启代理服务使设置生效 sudo systemctl restart walinuxagent # 检查服务运行状态 sudo systemctl status walinuxagent
针对RHEL/CentOS,把安装命令换成:
sudo yum install WALinuxAgent -y
步骤3:通过Azure CLI验证代理状态
回到本地终端,执行以下命令确认代理是否被识别为就绪状态:
az vm get-instance-view --resource-group <你的资源组名称> --name <你的VM名称> --query "instanceView.vmAgent"
如果输出里显示status: Ready,就说明代理已经正常工作了。
为Windows虚拟机安装VM Agent(如果适用)
如果是Windows虚拟机,按以下步骤操作:
- 通过串行控制台或远程桌面(如果能访问的话)登录VM
- 执行PowerShell命令安装代理:
# 下载VM Agent安装包 Invoke-WebRequest -Uri "https://go.microsoft.com/fwlink/?LinkID=394789&clcid=0x409" -OutFile "$env:TEMP\VMAgent.msi" # 静默安装代理 msiexec /i "$env:TEMP\VMAgent.msi" /quiet /qn /norestart
- 重启虚拟机后,用上面的Azure CLI命令验证代理状态。
快速排查小贴士
- 如果安装后代理仍显示不可用,检查VM是否有 outbound 网络访问权限——VM Agent需要和Azure管理端点通信。
- 确保你的操作系统版本是Azure支持的,部分旧版本可能需要额外更新依赖包。
内容的提问来源于stack exchange,提问作者Piyush Doke
相关产品推荐
相关产品推荐

