SSH Key-based authentication fails

4

I have an RSA key pair set up for authentication into my SSH server. The server is an Ubuntu Server, and I'm trying to log in using Putty on Windows. I load my private key into Pageant (the Putty authentication agent), and I attempt to log in. The server asks for my username, which I input. Then, I receive the error message: "Disconnected: no supported authentication methods available".

Next I tried sitting at my server machine and logging in directly with my username and password. Then, while still logged in to the host machine, I try to SSH into the server from the remote machine using the RSA key again. In this case, the login process works.

Can anyone please help me figure out why the key-based authentication only works if the user is already logged in to the host machine. Thank you.

George Porter

Posted 2010-09-16T01:30:52.997

Reputation: 43

Did you import the same key you used to log in from the shell into Pageant or is it a different key? – heavyd – 2010-09-16T02:05:45.353

Answers

4

I've seen this happen when the user's home directory isn't local, but on an NFS automount on the network. If your home directory isn't already mounted when sshd goes to look for your ~/.ssh/authorized_keys, it won't be able to access it in time, so public-key-based authentication will fail.

Spiff

Posted 2010-09-16T01:30:52.997

Reputation: 84 656

If it isn't in pageant you can also specify it in Putty -> Connection -> SSH -> Auth -> private key for authentication (browse). – Joshua D'Alton – 2013-04-05T07:56:52.460

1

Can't comment so...

If you stop the sshd service (service sshd stop) on your server you can run it interactively to get some debug output (sudo sshd -D). It may be related to the file protections on ~/.ssh and ~/.ssh/authorized_keys.

rlduffy

Posted 2010-09-16T01:30:52.997

Reputation: 129