我正在尝试通过arm模板为Linux虚拟机获取ssh public。公钥是密钥库中的秘密。
有人在下面遇到这样的问题吗?如果是这样,解决办法是什么?我尝试了使用ssh-keygen -t rsa -b 2048
生成的多个密钥。如果我将密钥字符串作为字符串直接复制到keydata属性中,那么它将起作用。
假设我可以使用ssh密钥代替adminpassword,我已经从Microsoft文档中复制了以下代码
"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。”,
答案 0 :(得分:0)
我解决了自己的问题。事实证明,以这种方式使用的引用属性(引用{})仅在参数模式中可用,而在包含模板json的主部署模板模式中不可用。
将密钥库密钥的引用属性放入参数json文件后,问题已解决。