At this time of this writing, I submitted a PR to fix the issue presented below.
Confusingly, my PRs were rejected, even with the supporting evidence I provided below.
I'm leaving my work here for others to review and come to thier own conclusions.
When launching the ARM deployment directly in the Azure Portal, you're unable to provide an ssh key.
Okay. I figured I'd take a look into this and possibly learn something along the way.
Looking behind the scenes, I found both auth types being assigned the sshKey.
Desirable? Of course not!
When setting the ARM Template default to password authentication, I got the following error.
By now, I'm feeling this can be fixed by using a condition to prevent the simultaneous auth assignments and converting the parameter value to a valid password when selected.
"adminPassword": "[if(equals(parameters('authenticationType'), 'sshPublicKey'), json('null'), base64(parameters('adminPasswordOrKey')))]",