You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

创建Ubuntu虚拟机时如何通过界面从Azure Key Vault获取SSH密钥

解决方法及原因说明

1. 首先确认存储位置是否正确

你当前无法找到密钥的最常见原因是存储位置错配:
Azure 门户创建虚拟机时调用的 SSH 私钥,需要存储在 Key Vault 的 机密(Secrets) 面板,而非你当前使用的 密钥(Keys) 面板。密钥面板仅用于存储用于加密、签名场景的非对称密钥对,虚拟机部署服务不会读取该面板下的内容。

2. 访问权限相关问题排查

该问题确实大概率和访问权限配置有关,需要检查三项配置:

  • 你当前登录 Azure 门户的账号,需要拥有对应 Key Vault 的机密读取权限:如果 Key Vault 用的是访问策略模型,需要给你的账号授予机密的Get权限;如果用的是 Azure RBAC 模型,需要给你的账号分配Key Vault Secrets User及以上权限角色。
  • 你需要给 Azure 虚拟机资源提供器Microsoft.Compute授予 Key Vault 的机密读取权限:该服务主体是虚拟机部署时用来拉取私钥的主体,没有权限的话即使你能看到机密,部署时也会失败。配置方式和上面的账号权限配置逻辑一致,给Microsoft.Compute授予机密Get权限或者Key Vault Secrets User角色即可。
  • 如果 Key Vault 开启了网络访问限制,需要在网络配置中勾选「允许受信任的 Azure 服务绕过此防火墙」,同时确保你当前的客户端 IP 在 Key Vault 的允许访问列表中。

3. 操作步骤

  • 导出你当前存放在密钥面板的 SSH 私钥,或者重新上传完整的 PEM 格式私钥到 Key Vault 的「机密」面板,保存为新的机密条目,注意不要改动私钥的原始格式,确保是标准的-----BEGIN OPENSSH PRIVATE KEY-----开头、-----END OPENSSH PRIVATE KEY-----结尾的完整内容。
  • 按照上面的权限要求完成 Key Vault 访问配置后保存修改。
  • 回到虚拟机创建页面,刷新后重新选择「使用存储在 Azure 中的现有密钥」,即可找到对应机密条目。

内容的提问来源于stack exchange,提问作者user13696433

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 09:57:01