gpt4 book ai didi

azure - 为什么准备 Linux VM 部署的 SSL 证书时 'az vm secret format' 命令失败?

转载 作者:行者123 更新时间:2023-12-02 08:01:56 25 4
gpt4 key购买 nike

我正在尝试按照以下位置提供的说明准备 SSL 证书以部署到 Azure 上托管的 Linux VM:

HTTPS access to Azure ubuntu Virtual Machine

第一行:

$secret=$(az keyvault secret list-versions --vault-name myVaultName --name myCertName --query "[?attributes.enabled].id" --output tsv)

执行正常,并且 $secret 包含预期值。但是,当我执行第二行时:

$vm_secret=$(az vm secret format --secret "$secret")

我收到错误:

unable to find vault 'myVaultName' in current subscription.

我仔细检查了命令格式和参数,没有发现任何错误。发生什么事了?

最佳答案

这是一件奇怪的事情。 CLI 命令以前工作正常,但现在需要添加带有 key 保管库名称的参数 --keyvault 和带有资源组名称的 -g,如下所示:

$vm_secret=$(az vm secret format --secret "$secret" -g groupName --keyvault keyvaultName)

或者只需添加带有 key 保管库 ID 的参数 --keyvault:

$vm_secret=$(az vm secret format --secret "$secret" --keyvault keyvault_resourceId)

这样它就可以正常工作而不会出现错误。

注意:如果您使用几个月前连续创建的旧 key 保管库,则给出错误的 CLI 命令也将在我的测试中起作用。所以有点奇怪。我发现属性默认值有些不同。

编辑

我认为最好在Linux环境中运行CLI命令,Windows和Linux中的CLI命令有一些不同,可能会导致错误。 Linux 中的脚本如下所示:

az keyvault certificate create --vault-name keyvault_name --name cert_name --policy "$(az keyvault certificate get-default-policy)"

secret=$(az keyvault secret list-versions --vault-name keyvault_name --name cert_name --query "[?attributes.enabled].id" --output tsv)

vm_secret=$(az vm secret format --secrets "$secret" --resource-group group_name --keyvault keyvault_name)

az vm update -g charles -n azureUbuntu18 --set osProfile.secrets="$vm_secret"

关于azure - 为什么准备 Linux VM 部署的 SSL 证书时 'az vm secret format' 命令失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54336531/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com