Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm unable to ssh into my ubuntu server (I used to be able to but haven't tried for a couple of months).

usually I use

ssh user@ipaddress

but I get the error Permission denied (publickey).

so I tried

ssh -o PubkeyAuthentication=no user@ipaddress

but I get the same error Permission denied (publickey).

the I tried

ssh -v user@ipaddress

OpenSSH_5.2p1, OpenSSL 0.9.8y 5 Feb 2013
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to ipaddress [ipaddress] port 22.
debug1: Connection established.
debug1: identity file /Users/my-mac/.ssh/identity type -1
debug1: identity file /Users/my-mac/.ssh/id_rsa type 1
debug1: identity file /Users/my-mac/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.0p1  Debian-3ubuntu1
debug1: match: OpenSSH_6.0p1 Debian-3ubuntu1 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.2
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'ipaddress' is known and matches the RSA host key.
debug1: Found key in /Users/my-mac/.ssh/known_hosts:11
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /Users/my-mac/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Trying private key: /Users/my-mac/.ssh/identity
debug1: Trying private key: /Users/my-mac/.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey).

I'm not sure what else to try to access my server.

p.s. here are the file perms

drwxr-xr-x   6 my-mac  staff   204  2 Oct 08:16 .
drwxr-xr-x+ 31 my-mac  staff  1054 21 Aug 07:35 ..
-rw-------   1 my-mac  staff  1743 12 Aug  2011 id_rsa
-rw-------   1 my-mac  staff   416 12 Aug  2011
-rw-------   1 my-mac  staff  4390  2 Oct 08:16 known_hosts
-rw-------   1 my-mac  staff  4404  2 Oct 08:03 known_hosts.old 
share|improve this question
I dont see authorized_keys file , if you dont have it please create it via cat > authorized_keys and chnage permission to chmod 700 authorized_keys. – Abhishek Anand Amralkar Oct 2 '13 at 15:40
The answers below seem to range from "that's not it" to non-existent. Also see Log-in Failures and requirements for PubkeyAuthentication on the mailing list. – jww Aug 26 '15 at 6:31

Your server only accepts publickey authentication and none of the private keys you can provide from your client match a corresponding public key (for the user you are trying to authenticate as).

This could be because:

  • You "lost" the private key you need.
  • You are trying to authenticate as the wrong user.
  • ~/.ssh/authorized_keys and/or ~/.ssh are missing or have the wrong permissions set (with StrictModes set to its default on.)
share|improve this answer
ok, interesting. So there's no way to access the server in that case? Seems like backing up keys is essential! – ed209 Oct 3 '13 at 2:40
@ed209 Not without some sort of Out of Band management interface. – 84104 Oct 4 '13 at 20:38

SELinux can produce similar errors on client side. Check whether it was enabled since you last logged in. if this is your case you can do two things:

  • Disable it if this server is in a secure environment and you do not need it. (Set it to permissive in /etc/selinux)

  • "Enable" your ssh by issuing the following command (Your home directory was assumed. Replace if not correct.)

    restorecon -R -v /home/my-mac/.ssh

Also: If the directory list at the end of your post is the server side (please clarify), then you are just missing your authorized_keys file with you pub key.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.