首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Key Vault向azure VM添加证书

从Key Vault向azure VM添加证书
EN

Stack Overflow用户
提问于 2018-12-26 21:54:43
回答 2查看 7.1K关注 0票数 1

我将App证书配置为Azure虚拟机,使用此链接上的步骤- https://blogs.msdn.microsoft.com/appserviceteam/2017/10/26/configure-app-service-certificate-to-azure-virtual-machine/

我已经完成了第一步到第六步,我被困在试图从密钥库将证书添加到VM中。我使用了链接中的步骤:https://learn.microsoft.com/en-us/azure/virtual-machines/windows/tutorial-secure-web-server

我在蔚蓝门户上的云shell上使用了以下脚本。

代码语言:javascript
复制
$certUrl = (Get-AzureKeyVaultSecret -VaultName "xxxKeyVault" -Name "xxxcert").Id;

$vm=Get-AzureRmVM -ResourceGroupName "xxx_Group" -Name "XXX"

$vaultId=(Get-AzureRmKeyVault -VaultName "xxxKeyVault").ResourceId

$certStore = "MyCert";

$vm = Add-AzureRmVMSecret -VM $vm -SourceVaultId $vaultId -CertificateStore $certStore -CertificateUrl $certURL

Update-AzureRmVM -ResourceGroupName "xxx_Group" -VM $vm>

但是到了最后一个脚本,我得到了错误

更新-AzureRmVM: List vaultCertificates包含重复的实例(https://xxxkeyvault.vault.azure.net/secrets/xxxxxx/xxxxxx,mycert),这是不允许的。ErrorCode: InvalidParameter ErrorMessage: List vaultCertificates包含重复的(https://xxxkeyvault.vault.azure.net/secrets/xxxxxx/xxxxxx,mycert)实例,这是不允许的。ErrorTarget: vaultCertificates StatusCode: 400 ReasonPhrase:坏请求OperationID : 51078b39-72a0-4a6f-be02-e0fff12dff8b行:1字符:1+更新-AzureRmVM -ResourceGroupName "xxxx_Group“-VM $vm +~+ CategoryInfo : CloseError:(:)更新-AzVM,ComputeCloudException + FullyQualifiedErrorId:-VM$vm+~+CategoryInfo:CloseError:

我是不是遗漏了什么?我的Vm是个窗口。

更新我已经验证了我在Vm上有不止相同的证书。拜托,我到底要移除哪一个?

代码语言:javascript
复制
"secrets": [
        {
          "sourceVault": {
            "id": "/subscriptions/xxxx/resourceGroups/xxxx/providers/Microsoft.KeyVault/vaults/xxxKeyVault"
          },
          "vaultCertificates": [
            {
              "certificateUrl": "https://xxxkeyvault.vault.azure.net/secrets/xxxx/xxxx",
              "certificateStore": "My"
            },
            {
              "certificateUrl": "https://xxxxkeyvault.vault.azure.net/secrets/xxxxx/xxxxx",
              "certificateStore": "My"
            },
            {
              "certificateUrl": "https://xxxxkeyvault.vault.azure.net/secrets/xxxxxx/xxxxxxx",
              "certificateStore": "My"
            },
            {
              "certificateUrl": "https://xxxxkeyvault.vault.azure.net/secrets/xxxxxxx/xxxxxxxx",
              "certificateStore": "MyCert"
            }
          ]
        },
         {
      "sourceVault": {},
      "vaultCertificates": {}
    }
  ],
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-27 01:31:31

当您向Azure VM添加证书时,应该首先确保VM的哪种OS类型。使用您所遵循的文档使用存储在密钥库中的SSL证书在Azure中的Windows虚拟机上保护web服务器中的描述:

这些SSL证书可以存储在Azure密钥库中,并允许安全地将证书部署到Azure中的Windows虚拟机(VM)。

似乎只适用于Windows,我也做了测试。因此,如果要向Linux添加证书,可以查看使用密钥库中存储的SSL证书在Azure中的Linux虚拟机上保护web服务器

此外,错误还显示:

更新-AzureRmVM: List vaultCertificates包含重复的实例(https://xxxkeyvault.vault.azure.net/secrets/xxxxxx/xxxxxx,mycert),这是不允许的。

我建议您最好检查VM是否已经拥有相同的证书。在我这方面,如果您两次添加相同的证书,而第二次则会出现如下错误:

希望这能帮到你。

票数 0
EN

Stack Overflow用户

发布于 2018-12-27 05:59:03

你需要做的是:

  1. 开放resources.azure.com
  2. 导航到vm
  3. 单击“编辑”,从osProfile中删除证书,单击“修补程序”
  4. 重新运行您的脚本

Azure的东西-它不知道(或关心)你的vm是否真的有你想要安装的证书,它抱怨的是VM定义已经有了证书,所以它不能添加它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53937580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档