LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Security (https://www.linuxquestions.org/questions/linux-security-4/)
-   -   SSH Authentication Problem (https://www.linuxquestions.org/questions/linux-security-4/ssh-authentication-problem-388737/)

mjanveaux 12-02-2005 04:31 PM

SSH Authentication Problem
 
Hi everyone,

I am relatively new to linux but am learning quickly, here's a quick synopsis of my problem

I'm trying to connect to a remote host using ssh without having to enter a password. I'm trying to connect using the account 'prdusr' on the remote host and have done the following:

1) Added the remote hosts ssh_host_rsa_key.pub into known_hosts on the client
2) Generated a public / private key pair using the command ssh-keygen -t dsa - i've tried this with and without a passphrase
3) The above command generates the file id_dsa and id_dsa.pub, so I copy it to the remote host using scp and execute cat id_dsa.pub >> .ssh/authorized_keys under the users home folder

I've made sure that under etc/ssh/sshd_config RSAAuthentication is yes, and I have actually left this commented out as it is the default value of the system. I've also copied id_dsa and id_dsa.pub to identity and identity.pub as a precaution to try and make sure that the public key is being read correctly.

Anyways, after I execute ssh -vvv prdusr@remotehost.com I still get prompted for a password! Here's the output:

[prdusr@client ssh]$ ssh -vvv prdusr@remotehost.com
OpenSSH_3.6.1p2, SSH protocols 1.5/2.0, OpenSSL 0x0090701f
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Rhosts Authentication disabled, originating port will not be trusted.
debug2: ssh_connect: needpriv 0
debug1: Connecting to remotehost [x.x.x.x] port 22.
debug1: Connection established.
debug3: Not a RSA1 key file /home/prdusr/.ssh/identity.
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
debug2: key_type_from_name: unknown key type '-----END'
debug3: key_read: missing keytype
debug1: identity file /home/prdusr/.ssh/identity type 2
debug1: identity file /home/prdusr/.ssh/id_rsa type -1
debug3: Not a RSA1 key file /home/prdusr/.ssh/id_dsa.
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
debug2: key_type_from_name: unknown key type '-----END'
debug3: key_read: missing keytype
debug1: identity file /home/prdusr/.ssh/id_dsa type 2
debug1: Remote protocol version 1.99, remote software version OpenSSH_3.6.1p2
debug1: match: OpenSSH_3.6.1p2 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_3.6.1p2
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,zlib
debug2: kex_parse_kexinit: none,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-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,zlib
debug2: kex_parse_kexinit: none,zlib
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: mac_init: found hmac-md5
debug1: kex: server->client aes128-cbc hmac-md5 none
debug2: mac_init: found hmac-md5
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug2: dh_gen_key: priv key bits set: 124/256
debug2: bits set: 1550/3191
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug3: check_host_in_hostfile: filename /home/prdusr/.ssh/known_hosts
debug3: check_host_in_hostfile: match line 1
debug3: check_host_in_hostfile: filename /home/prdusr/.ssh/known_hosts
debug3: check_host_in_hostfile: match line 1
debug1: Host 'remotehost.com' is known and matches the RSA host key.
debug1: Found key in /home/prdusr/.ssh/known_hosts:1
debug2: bits set: 1584/3191
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
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug3: start over, passed a different list publickey,password,keyboard-interactive
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /home/prdusr/.ssh/identity
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Trying private key: /home/prdusr/.ssh/id_rsa
debug3: no such identity: /home/prdusr/.ssh/id_rsa
debug1: Offering public key: /home/prdusr/.ssh/id_dsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug2: we did not send a packet, disable method
debug3: authmethod_lookup keyboard-interactive
debug3: remaining preferred: password
debug3: authmethod_is_enabled keyboard-interactive
debug1: Next authentication method: keyboard-interactive
debug2: userauth_kbdint
debug2: we sent a keyboard-interactive packet, wait for reply
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug3: userauth_kbdint: disable: no info_req_seen
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred:
debug3: authmethod_is_enabled password
debug1: Next authentication method: password
prdusr@remotehost.com's password:


From everything that I've read, this should be working, and not asking me for a password!

Can anybody help? I would sincerely appreciate some guidance here.

Kind regards,

Mark

Medievalist 12-02-2005 04:45 PM

fix these two things, check protections
 
Two comments:

#1 You must not use a passphrase when you generate your key pair if you want to have passwordless access.

#2 The formats of the identity and id_dsa key files are incompatible (as they should be; OpenSSH knows about three kinds of keys (rsa, dsa, and rsa1) and all are distinctly different therefore should have different file names and different formats). Your key_read errors are being generated by the bogus format you've inserted into the identity file by copying id_dsa files there.

Fix those two bugs and try again. If it still doesn't work, post the output like you did this time (good post, by the way!) and also check the protections on your key files - OpenSSH won't use improperly secured key files.

--Charlie

mjanveaux 12-02-2005 05:04 PM

Hi Charlie, thank you for the response.

Reading your post, this is what I followed up with:

1) I removed identity, identity.pub and regenerated id_dsa and id_dsa.pub, and copied over the contents of id_dsa.pub into a new .ssh/authorized_keys file on the remote server under prdusr's home directory.
2) I checked permissions on my keys, I believed everything was correct:
(on the client /home/prdusr/):
drwxr--r-- 2 prdusr prdusr 4096 Dec 2 16:15 .ssh
(contents of .ssh):
-rw------- 1 prdusr prdusr 668 Dec 2 16:15 id_dsa
-rw-r--r-- 1 prdusr prdusr 633 Dec 2 16:15 id_dsa.pub
-rw-r--r-- 1 prdusr prdusr 737 Dec 2 15:58 known_hosts

(on the remote host /home/prdusr/):
-rw-r--r-- 1 prdusr prdusr 633 Dec 2 14:53 authorized_keys

and then I noticed that the .ssh folder didn't have the execute permission on the folder doing a chmod from 644 to 744 on the .ssh folder on the remote host FIXED THE PROBLEM!

Thank you very very much... Turned out to be a simple solution but finding it was like finding a needle in a haystack.

Kind regards,

Mark

Medievalist 12-02-2005 05:16 PM

Glad to help.
 
Incidentally, the one place you don't have to worry about key type is in the authorized_keys file. Any of the three types of public keys can be added there and OpenSSH will figure out what to do.

If you want interoperability with the non-free SSH (which I recommend, incidentally, for Windoze boxes) you have to convert the keys into OpenSSH format before you can use 'em. There's a converter shipped with OpenSSH.

--C


All times are GMT -5. The time now is 09:56 AM.