3

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_REQUEST sent
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 id_rsa.pub
-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 
ed209
  • 187
  • 3
  • 8
  • I dont see authorized_keys file , if you dont have it please create it via cat id_rsa.pub > authorized_keys and chnage permission to chmod 700 authorized_keys. – Abhishek Anand Amralkar Oct 02 '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](https://groups.google.com/d/msg/comp.security.ssh/nyoZrmdbrck/3HoGOphhDgAJ) on the *`comp.security.ssh`* mailing list. –  Aug 26 '15 at 06:31

2 Answers2

3

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.)
84104
  • 12,905
  • 6
  • 45
  • 76
  • ok, interesting. So there's no way to access the server in that case? Seems like backing up keys is essential! – ed209 Oct 03 '13 at 02:40
  • @ed209 Not without some sort of Out of Band management interface. – 84104 Oct 04 '13 at 20:38
1

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.

Bgs
  • 208
  • 2
  • 5