繁体   English   中英

在 Linux Azure VM 的 /var/lib/waagent/ 中找不到 SSL 证书

[英]SSL Certificate is not found in /var/lib/waagent/ for Linux Azure VM

我正在尝试为托管在 Linux 虚拟机中的网站添加 SSL 证书。 我成功添加了证书:

$certURL=(Get-AzureKeyVaultSecret -VaultName $keyVaultName -Name $key).id
$vm=Get-AzureRmVM -ResourceGroupName $resourceGroup -Name $vmName
$vaultId=(Get-AzureRmKeyVault -ResourceGroupName $resourceGroup -VaultName $keyVaultName).ResourceId
$vm = Add-AzureRmVMSecret -VM $vm -SourceVaultId $vaultId -CertificateUrl $certURL

Update-AzureRmVM -ResourceGroupName $resourceGroup -VM $vm

然后,我检查了证书是否添加成功:

az vm secret list --name $vmName --resource-group $resourceGroup
[
  {
    "sourceVault": {
      "id": "/subscriptions/...."
    },
    "vaultCertificates": [
      {
        "certificateStore": null,
        "certificateUrl": "https://name.vault.azure.net:443/secrets/ssl/123456ABCDFG (example)"
      }
    ]
  }
]

但是,当我签入 /var/lib/waagent/ 时,我找不到证书123456ABCDFG 我不知道它在哪里?

我刚刚学习了教程:使用存储在 Key Vault 中的 SSL 证书保护 Azure 中 Linux 虚拟机上的 Web 服务器 创建 VM 时,证书和密钥存储在受保护的/var/lib/waagent/目录中。

事实上,SSL证书由在版本ID引用certificateUrl ,该123456ABCDFG是证书的在你的钥匙库中的当前版本。

检查版本在此处输入图片说明

检查证书Thumbprint ,证书确实在那里。 在此处输入图片说明

此外,我使用 az 模块验证了您的 Powershell 命令,它也适用于我。

$certURL=(Get-azKeyVaultSecret -VaultName $keyVaultName -Name $key).id
$vm=Get-azVM -ResourceGroupName $resourceGroup -Name $vmName
$vaultId=(Get-azKeyVault -ResourceGroupName $resourceGroup -VaultName $keyVaultName).ResourceId
$vm = Add-azVMSecret -VM $vm -SourceVaultId $vaultId -CertificateUrl $certURL

Update-azVM -ResourceGroupName $resourceGroup -VM $vm

在此处输入图片说明

编辑

如果要使用 Az 模块运行为 AzureRM 模块开发的脚本,请使用Enable/Disable-AzureRmAlias cmdlet 将别名从 AzureRM cmdlet 添加或删除到 Az cmdlet。 请参阅此处的更多详细信息。 AzureRm 模块将被淘汰,建议使用新的 Az 模块。

我测试您的旧 PowerShell 命令如下: 在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM