如何从Azure Key保管库向现有azure Linux VM添加SSL Cert。对于Windows,我们使用以下命令
$vaultId=(Get-AzureRmKeyVault -ResourceGroupName $resourceGroup -VaultName $keyVaultName).ResourceId
$vm = Add-AzureRmVMSecret -VM $vm -SourceVaultId $vaultId -CertificateStore "My" -CertificateUrl $certURL
对于linux vm,是否有类似的这样的?是否有类似于linux Secure IIS web server with SSL certificates on a Windows virtual machine in Azure
的链接答案 0 :(得分:2)
您可以使用Azure Cli执行此操作。使用以下命令。
secret=$(az keyvault secret list-versions \
--vault-name $keyvault_name \
--name mycert \
--query "[?attributes.enabled].id" --output tsv)
vm_secret=$(az vm format-secret --secret "$secret")
az vm update -n shui -g shuikeyvault --set osProfile.secrets="$vm_secret"
然后证书存储在/var/lib/waagent
上,您可以使用Azure自定义脚本来使用它。
注意:您应该使用"$vm_secret"
,我在我的实验室进行测试,只有$vm_secret
对我不起作用。
答案 1 :(得分:0)
ssh-copy-id -i~ / .ssh / id_rsa.pub aht @ myserver。但是,如果您拥有VM但不拥有原始密钥的权限,则需要使用azure vm reset-access来执行此操作。事实上它被记录为一个独立的能力: help:-M,-ssh-key-file公钥PEM文件的路径或用于SSH认证的SSH公钥文件(仅当os-type为" Linux"时有效) 当然,它并没有说明ELSE应该在这里发生什么,以便添加我为当前正在运行的VM定位的密钥。但结果必须是,如果我指定一个已经存在的用户,并且已经存在一个密钥,则需要将该密钥添加到该目录中。
你会注意到在Azure / azure-linux-extensions#295中,https://github.com/Azure/azure-linux-extensions/issues/295认为使用azure vm set-extensions,然后重置访问被破坏。
更新密钥保管库以用于VM 使用az keyvault update在现有密钥保管库上设置部署策略。以下内容更新了myResourceGroup资源组中名为myKeyVault的密钥保管库:
Azure CLI
复制 az keyvault update -n myKeyVault -g myResourceGroup --set properties.enabledForDeployment = true