Putty error: No supported authentication methods available (server sent: publickey)

June 17, 2017 136.8k views
Nginx LEMP Ubuntu 16.04 Ubuntu

I am trying to setup a server for my wordpress site. I was going through this tutorial (https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-16-04) to setup ssh keys.
After step five when it says to try logging in with the ssh keys with the newly created user putty returns back with a error saying: “No supported authentication methods available (server sent: publickey)”
I put the public key in the authorized_keys file and everything the tutorial said but it still returns that error. If I try logging in to root with the same private key it works fine. It just shows that error when I try logging in with the new user.

Any help would be appreciated.

  • I would also like to mention, I made the keys with Puttygen and I added the public key to digitalocean. I used the key when creating the droplet.

  • I guess you have loaded the .pem file first and then generated the Public key and private key by randomness.

    But if you generate key-pair by randomness and them upload .pem file to generate Public and private key pair then you won’t get this error.

5 Answers

I also had this problem, login from putty as root was fine but from the non-root user gave me the error above. I tried the methods given in the link but it didn’t help, eventually I managed to do it by following this guide: https://www.vultr.com/docs/using-your-ssh-key-to-login-to-non-root-users

  • I just created a new CentOS droptlet and I cannot even ssh root@ip_add. Terrible :(

  • I just wanted to thank you for taking the time to post this. I’ve been trying to get the hang of this using PuTTY and Windows. It’s the only thing that has worked after trying what seems like everything else!

  • Thank you so much, this was the only solution that actually worked. I could log in with root but not with any other user, now I can create a new user and SSH with it.

  • Helped me, thanks for sharing.

  • Thank you dude. This one worked for me.


The public key generated by puttygen cannot be used directly on Ubuntu you need to change its format as mentioned here

Hope this helps

@thelunchbawx, I am having the exact same problem. Did you figure out a solution?

In my case, I removed default login name from putty and it worked

I never got PuTTY to work, but I was able to use ssh-keygen and ssh root@IP from Git Bash.

Have another answer? Share your knowledge.