I created a Linux Virtual Machine in Azure, but connecting to it through SSH was a real nightmare. I was always getting the below error - "Permission denied (publickey)." After lot of googling, binging and shooting in the dark, this is how I fixed the problem: Create a new ssh key by running below command. PS: Do not change the default name or path of generated ssh key. ssh-keygen -t rsa -b 2048 Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/<Username>/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: ...