在 /var/lib/waagent/ 中找不到 Linux Azure VM 的 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。我不知道它在哪里?
我刚刚关注了Tutorial: Secure a web server on a Linux virtual machine in Azure with SSL certificates stored in Key Vault。创建 VM 时,证书和密钥存储在受保护的 /var/lib/waagent/
目录中。
事实上,SSL 证书由 certificateUrl
中的版本 ID 引用,123456ABCDFG 是密钥库中证书的当前版本。
检查版本
检查证书指纹,证书确实存在。
另外,我用 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 的别名。参考更多细节here。 AzureRm模块即将退役,推荐使用新的Az模块
我测试你的旧 PowerShell 命令如下:
我正在尝试为我在 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。我不知道它在哪里?
我刚刚关注了Tutorial: Secure a web server on a Linux virtual machine in Azure with SSL certificates stored in Key Vault。创建 VM 时,证书和密钥存储在受保护的 /var/lib/waagent/
目录中。
事实上,SSL 证书由 certificateUrl
中的版本 ID 引用,123456ABCDFG 是密钥库中证书的当前版本。
检查版本
检查证书指纹,证书确实存在。
另外,我用 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 的别名。参考更多细节here。 AzureRm模块即将退役,推荐使用新的Az模块
我测试你的旧 PowerShell 命令如下: