The best and most secure option for authenticating to an
Azure Linux VM is with a private & public key pair. It is possible to
configure password authentication during the deployment of a VM, but this could
be subject to a brute-force attack. A private & public key pair is used to
secure the authentication, the Azure Linux VM has the public key and the
administrator’s workstation stores the private key. It is possible to use the
same key pair to authenticate to multiple Azure Linux VM instances, any most
do.
Continue through the rest of the wizard to deploy a new
Azure Virtual Machine. Once you get to send and you push the configuration
to Azure Resource Manager in the form of a deployment you will be faced with
this. You must select the option to download the private key as Azure does not
store this for you. If you fail to download the private key at this stage this
key pair will be null and void.
The default format is PEM when you generate a key pair
directly from Azure. This is what format the private key is downloaded in. If
you want to authenticate to Azure Linux VMs using Putty you will have to
convert the PEM file to PPK, or authentication will fail. To do this the
PuttyGen tool can be used. The first step is to import the private key PEM file
from Azure.
Once successfully imported you must then use the Save
Private Key option to ensure you end up with a PPK file which Putty can parse
for authentication.
Once you have a PPK version of the private key, you can use
Putty to authenticate to the Azure Linux VM. Do not forget you must point to
the PPK file from inside Putty under SSH > Auth.
Ok so we have covered how to deploy a new Azure Linux VM
with a new key pair, convert the private key to a form in which Putty can use
and authenticate to a VM.
The next step is to configure other Azure Linux VM’s to use
this key pair for authentication. A new resource is created in the Azure
Resource Group in which the next Azure Linux VM was deployed, this resource is
an SSH Key. This is the public key side of this key pair which can be
configured on other VM instances. If you query the SSH Key, we can copy and
paste the key itself.
Now if we want to update existing VMs to use the key pair we
can go to the VM and under Reset Password select thee Reset SSH Public Key
option. From here we paste in the new public key which was created as part of
the original VM.
Once this has been committed, we will be able to use out
master private key to authenticate to this Azure Linux VM.