on a very same target machine running on CentOS v6.2, I have carried out the same set of procedures both from my Macbook and another Ubuntu machine. The Macbook ssh login-less is working flawlessly now, but still the Ubuntu server can't connect to the target machine password-less. Here is what I did:
KEYNAME=~/.ssh/foo_key
# generate a new key
ssh-keygen -t rsa -f ${KEYNAME}
# fix permissions
chmod 600 ${KEYNAME}.pub ${KEYNAME}
# add key
eval `ssh-agent -s`
eval "$(ssh-agent)"
ssh-add ${KEYNAME}
# copy key to target machine foo
cat ${KEYNAME}.pub | ssh foo "cat - >> ~/.ssh/authorized_keys"
cat ${KEYNAME}.pub | ssh foo "cat - >> ~/.ssh/authorized_keys2"
2- Then I added the keyname to both ~/.ssh/config files in Macbook and Ubuntu.
3- I made sure to fix the target machine ~/.ssh
and ~/.ssh/authorized*
permissions to 700/750.
some other info:
Ubuntu ssh version is:
OpenSSH_5.9p1 Debian-5ubuntu1.1, OpenSSL 1.0.1 14 Mar 2012
Macbook ssh version is:
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
Target CentOS v6.2 ssh version is:
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
This is the result of ssh -v foo
:
OpenSSH_5.9p1 Debian-5ubuntu1.1, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /home/ashouri/.ssh/config
debug1: /home/ashouri/.ssh/config line 1: Applying options for *
debug1: /home/ashouri/.ssh/config line 5: Applying options for eecis
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to hoek.eecis.udel.edu [128.4.31.39] port 22.
debug1: Connection established.
debug1: identity file /home/ashouri/.ssh/cavazos_lab.pub type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: identity file /home/ashouri/.ssh/cavazos_lab.pub-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.9p1 Debian-5ubuntu1.1
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: Server host key: RSA d5:d6:53:4c:41:81:3b:28:41:ef:8b:97:d9:19:3b:dd
debug1: Host 'hoek.eecis.udel.edu' is known and matches the RSA host key.
debug1: Found key in /home/ashouri/.ssh/known_hosts:7
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password,hostbased
debug1: Next authentication method: gssapi-keyex
debug1: No valid Key exchange context
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
Credentials cache file '/tmp/krb5cc_1005' not found
debug1: Unspecified GSS failure. Minor code may provide more information
Credentials cache file '/tmp/krb5cc_1005' 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_1005' not found
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/ashouri/.ssh/cavazos_lab.pub
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password,hostbased
debug1: Next authentication method: password
Anyone could direct me why is this happening ?
After an hour of surfing internet, I found a post Here in which stated the trick to solve the issue; Just it is needed to delete the reference to the public key file as identity in ~/.ssh/config and instead point to the private key. (Just remove the
.pub
segment from the line). Thats all!