Setup SSH keys but server still prompts for password?

  • Posted September 19, 2012


I followed the SSH Keys tutorial here at DO but the server still prompts for my user password (not passphrase) when I login. I checked ~/.ssh/authorized_keys and there is only 1 line so it looks like the key copied over OK. I am asked for my user password when I use either the HTML 5 console access program or PuTTY. I am not logging in as root, but the user account has root privileges.

I’m new to SSH so I apologize for not being able to explain the issue too well. I’m using Ubuntu 12.04 (server edition, no desktop).



****Hi my query: for connection two servers without passwords using ssh

for this i generated id_rsa and by using command " ssh-keygen" i copied the in the remote server which i want to connect to from my server as “authorized_keys” in ~/.ssh/ directory ie ( in remote server i placed file as "~/.ssh/authorized_keys " but still i’m not able to connect to remote server without password. can anyone give the solution why it is happend. u can also mail me for solution

Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

just type in ssh root@xxxxxx, if you setup a different key besides id_rsa just use ssh -i /path/to/key_rsa root@xxxxxxxx

Sorry, after generate a ssh key by DO panel, can anybody explain how to connect to the server (ie by putty) without using the root password but using the recent ssh key certificate? <br> <br>

I am having a similar issue to the author of opening post.

Followed these directions:

Have added a new user to the server and added .ssh/authorized_keys . When I login with this new user I am still required to input password.

I would like to completely disable passwords and just use ssh. Does anyone know what the issue may be?

The DigitalOcean control panel SSH Keys are only for the root user. They enable you to log into your account as root, without the root password email. You can then create a new sudoer. <br> <br>Logging in as the new user, even one that can use sudo, however, will still require a password.

Possible it helps:

All the directories starting from root and up to the .ssh directory in your home directory must not have write permission for either ‘group’ or ‘other’


chmod g-w,o-w ~/.ssh
chmod g-w,o-w ~./ssh/authorized_keys

Anyone here using DSA keys and a Ubuntu 16.04 droplet (with OpenSSH 7.x by default) should note that DSA keys (pubkey starting with “ssh-dss”) are not accepted by default anymore. This issue caused problems very similar to ones described in the original question. This is understandable because if the keys are not accepted, the ssh reverts back to asking the password.


Hi All,

After so many debug ,i found the solution,after configuring SSH Key based Auth ,we need to edit sudo file and change $ %sudo ALL=(ALL) NOPASSWD: ALL ,your problem will be resolved.

Can I login with only key pairs with my sudo user (not root user)? And if yes, how?

When I created the droplet I connected my previously added keys by checking the checkbox under “Add your SSH keys”. When I logged in as root it worked fine with the added keys. I added a new sudo user, switched to that account and added the public key to the sudo user (password free private key).

adduser newuser usermod -aG sudo su - newuser mkdir ~/.ssh chmod 700 ~/.ssh nano ~/.ssh/authorized_keys Inserted public key chmod 600 ~/.ssh/authorized_keys chown newuser -R ~/.ssh

But when I do the below command: sudo nano /etc/ssh/sshd_config The console now asks for password (the keys are password free).

What’s wrong??

My Issue was,

although I added key from admin panel ( there was no such a key in ~/.ssh/autherized_keys

So I manually added that.

If you can’t figure out, why you’re not able to login via ssh try to debug it with command: ssh -v