我正在尝试通过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。“,
我解决了自己的问题。事实证明,以这种方式使用的引用属性(reference {})仅在参数模式中可用,而在包含模板json的主部署模板模式中不可用。
将密钥库密钥的引用属性放入参数json文件后,问题已解决。