4

There are a number of similar questions, for example SSH: "Server refused our key" with no reason

However, I've gone through the suggested checks and can't seem to get a new user to connect via ssh. This is my process;

useradd username > passwd username etc...

I've checked the home directory permissions for the new user after that which = 700 as suggested in other posts. (~/.ssh/ and ~/.ssh/authorized_keys are 700/600 respectively)

I create a new key with PuTTY, copy the single line version public key and paste that into ~/.ssh/authorized_keys under the rest.

I then try to connect via PuTTY (or stfp using the same key) specifying the new username and .ppk file, but just get told the server has refused our key.

In the past I've added new keys for the root user successfully, but adding a new user and a key is failing to work.

I tried adding a .ssh folder and authorized_keys file in the users /home/username directory as another post suggested to no avail.

The relevant parts of my sshd_config are;

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  ~/.ssh/authorized_keys
PasswordAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes

I have no Allow or Deny lines present

/var/log/secure shows the following;

Jul 14 11:20:44 www sshd[18632]: Received disconnect from xx.xx.xx.xx: 14: No supported authentication methods available

Jul 14 11:22:08 www sshd[18629]: Received signal 15; terminating.

I'm pretty new to Linux command line, but from all the Googling I've done, it sounds like I've done this in the right order, so I don't know what I might be missing.

EDIT

ssh -vvv user@server generates;

OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to www.xxxxxx.com [127.0.0.1] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/identity type -1
debug1: identity file /root/.ssh/identity-cert type -1
debug3: Not a RSA1 key file /root/.ssh/id_rsa.
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug3: key_read: missing keytype
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug2: key_type_from_name: unknown key type '-----END'
debug3: key_read: missing keytype
debug1: identity file /root/.ssh/id_rsa type 1
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: identity file /root/.ssh/id_ecdsa type -1
debug1: identity file /root/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.3
debug2: fd 3 setting O_NONBLOCK
debug1: SSH2_MSG_KEXINIT sent
debug3: Wrote 960 bytes for a total of 981
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellma                 n-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.c                 om,ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,ae                 s256-cbc,arcfour,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,ae                 s256-cbc,arcfour,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac                 -sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac                 -sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib
debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellma                 n-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,ae                 s256-cbc,arcfour,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,ae                 s256-cbc,arcfour,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac                 -sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac                 -sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,zlib@openssh.com
debug2: kex_parse_kexinit: none,zlib@openssh.com
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: mac_setup: found hmac-md5
debug1: kex: server->client aes128-ctr hmac-md5 none
debug2: mac_setup: found hmac-md5
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
debug3: Wrote 24 bytes for a total of 1005
debug2: dh_gen_key: priv key bits set: 123/256
debug2: bits set: 498/1024
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug3: Wrote 144 bytes for a total of 1149
debug3: check_host_in_hostfile: host www.xxxxxx.com filename /root/.ssh/known_hosts
debug3: check_host_in_hostfile: host www.xxxxxx.com filename /root/.ssh/known_hosts
debug3: check_host_in_hostfile: host www.xxxxxx.com filename /etc/ssh/ssh_known_hosts
debug3: check_host_in_hostfile: host www.xxxxxx.com filename /etc/ssh/ssh_known_hosts
debug3: check_host_in_hostfile: host www.xxxxxx.com filename /root/.ssh/known_hosts
debug3: check_host_in_hostfile: host www.xxxxxx.com filename /etc/ssh/ssh_known_hosts
debug2: no key of type 0 for host www.xxxxxx.com
debug3: check_host_in_hostfile: host www.xxxxxx.com filename /root/.ssh/known_hosts2
debug3: check_host_in_hostfile: host www.xxxxxx.com filename /etc/ssh/ssh_known_hosts2
debug3: check_host_in_hostfile: host www.xxxxxx.com filename /root/.ssh/known_hosts
debug3: check_host_in_hostfile: host www.xxxxxx.com filename /etc/ssh/ssh_known_hosts
debug2: no key of type 2 for host www.xxxxxx.com
debug3: check_host_in_hostfile: host www.xxxxxx.com filename /root/.ssh/known_hosts2
debug3: check_host_in_hostfile: host www.xxxxxx.com filename /etc/ssh/ssh_known_hosts2
debug3: check_host_in_hostfile: host www.xxxxxx.com filename /root/.ssh/known_hosts
debug3: check_host_in_hostfile: host www.xxxxxx.com filename /etc/ssh/ssh_known_hosts
debug2: no key of type 3 for host www.xxxxxx.com
The authenticity of host 'www.xxxxxx.com (127.0.0.1)' can't be established.
RSA key fingerprint is 4a:8f:8d:4c:7a:bd:be:63:e7:04:5b:51:ae:34:fb:80.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'www.xxxxxx.com' (RSA) to the list of known hosts.
debug2: bits set: 485/1024
debug1: ssh_rsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug3: Wrote 16 bytes for a total of 1165
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug3: Wrote 48 bytes for a total of 1213
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /root/.ssh/identity ((nil))
debug2: key: /root/.ssh/id_rsa (0x7f68bf9e7f10)
debug2: key: /root/.ssh/id_dsa ((nil))
debug2: key: /root/.ssh/id_ecdsa ((nil))
debug3: Wrote 64 bytes for a total of 1277
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic
debug3: start over, passed a different list publickey,gssapi-keyex,gssapi-with-mic
debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password
debug3: authmethod_lookup gssapi-keyex
debug3: remaining preferred: gssapi-with-mic,publickey,keyboard-interactive,password
debug3: authmethod_is_enabled gssapi-keyex
debug1: Next authentication method: gssapi-keyex
debug1: No valid Key exchange context
debug2: we did not send a packet, disable method
debug3: authmethod_lookup gssapi-with-mic
debug3: remaining preferred: publickey,keyboard-interactive,password
debug3: authmethod_is_enabled gssapi-with-mic
debug1: Next authentication method: gssapi-with-mic
debug3: Trying to reverse map address 127.0.0.1.
debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_0' not found

debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_0' not found

debug1: Unspecified GSS failure.  Minor code may provide more information


debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_0' not found

debug2: we did not send a packet, disable method
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/identity
debug3: no such identity: /root/.ssh/identity
debug1: Offering public key: /root/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug3: Wrote 368 bytes for a total of 1645
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic
debug1: Trying private key: /root/.ssh/id_dsa
debug3: no such identity: /root/.ssh/id_dsa
debug1: Trying private key: /root/.ssh/id_ecdsa
debug3: no such identity: /root/.ssh/id_ecdsa
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

I'm not sure what most of this means, however there is no mention of the new users ssh key, if that's pertinent...

  • Have you checked the server logs? – Patrick Jul 14 '16 at 12:19
  • Unfortunately, they're not much help, I just get the following; Jul 14 11:20:44 www sshd[18632]: Received disconnect from xx.xx.xx.xx: 14: No supported authentication methods available Jul 14 11:22:08 www sshd[18629]: Received signal 15; terminating. – Novocaine Jul 14 '16 at 13:04
  • No supported authentication methods available means that either client or server does not support public key authentication. What does the client log ssh -vvv user@server looks like? – Jakuje Jul 14 '16 at 13:08
  • @Jakuje I've added the output of that command as an edit. Both the client and server do work with public keys when logging in as root. – Novocaine Jul 14 '16 at 13:20
  • Check once more the permissions and owners of the files: ls -ldZ ~username/ ~username/.ssh ~username/.ssh/authorized_keys Especially if you created them under the root account. – Jakuje Jul 14 '16 at 13:24
4

Not only permissions matters, but also the user and group. You should be able to notice that from the below output:

ls -ldZ ~username/ ~username/.ssh ~username/.ssh/authorized_keys

This is common mistake, especially if you create the folders using root user.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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