我已经构建了我的Linux模板,一切正常,但是我有一个 剩下的问题。 实际上,我想让我的用户选择使用密码还是SSH公钥对VM进行身份验证。 我已经创建了两个参数(密码和密钥),如果另一个参数为空,我想使其中一个成为必需,然后相应地设置资源部分。
我该如何实现?
答案 0 :(得分:0)
您可以使用此代码段(将以下变量\参数添加到模板中):
"parameters": {
"authType": {
"type": "string",
"defaultValue": "password",
"allowedValues": [
"password",
"ssh"
]
}
},
"variables": {
"ssh": {
"computerName": "[variables('vmName')]",
"adminUsername": "[parameters('adminUsername')]",
"linuxConfiguration": {
"disablePasswordAuthentication": true,
"ssh": {
"publicKeys": [
{
"path": "[concat('/home/',parameters('adminUsername'),'/.ssh/authorized_keys')]",
"keyData": "[parameters('sshPublicKey')]"
}
]
}
}
},
"password": {
"computerName": "[variables('vmName')]",
"adminUsername": "[parameters('adminUsername')]",
"adminPassword": "[parameters('adminPassword')]"
}
},
,然后在您的VM定义中执行以下操作:
"osProfile": "[variables(parameters('authType'))]"
它将检索名为ssh
的变量或名为password
的变量,并将其分配给osProfile