错误引用SSH密钥Linux VM ARM模板的Azure密钥保险库机密

错误引用SSH密钥Linux VM ARM模板的Azure密钥保险库机密,azure,azure-resource-manager,Azure,Azure Resource Manager,我正在尝试通过arm模板为Linux虚拟机接收ssh公共。公钥作为秘密存在于密钥库中 有人遇到过这样的问题吗?如果是这样,解决办法是什么?我尝试了使用ssh-keygen-t rsa-b2048生成的多个密钥。如果我将键字符串作为字符串直接复制到keydata属性中,它就会工作 我从Microsoft文档中复制了以下代码,假设我可以使用ssh密钥而不是adminpassword "ssh": { "publicKeys": [

我正在尝试通过arm模板为Linux虚拟机接收ssh公共。公钥作为秘密存在于密钥库中

有人遇到过这样的问题吗?如果是这样,解决办法是什么?我尝试了使用ssh-keygen-t rsa-b2048生成的多个密钥。如果我将键字符串作为字符串直接复制到keydata属性中,它就会工作

我从Microsoft文档中复制了以下代码,假设我可以使用ssh密钥而不是adminpassword

"ssh": {
                            "publicKeys": [
                                {
                                    "path": "/home/bluecat/.ssh/authorized_keys",
                                    "keyData": {
                                        "reference": {
                                             "keyVault": {
                                                "id": "[resourceId(subscription().subscriptionId,resourceGroup().name,'Microsoft.KeyVault/vaults','kvbluecat')]"
                                                    },
                                            "secretName":"bluecatpub"
                                        }
                                    }
                                }
                            ]
解析值后遇到意外字符::。路径 'properties.osProfile.linuxConfiguration.ssh.publicKeys[0].keyData', 第1行,位置958。”,


我解决了自己的问题,结果表明,以这种方式使用的引用属性(reference{})仅在参数模式中可用,而不在包含json模板的主部署模板模式中可用

将密钥vault secret的引用属性放入参数json文件后,问题得到解决