I can login to my server using a certificate if I issue the command directly in the shell:

$ ssh -p 26000 rambo@jumanji.gov

However, when I configure this host in .ssh/config falls back to password authentication.

Host jumanji
  HostName jumanji.gov
  User rambo
  Port 26000
  IdentityFile ~/.ssh/jumanji_rsa.pub


$ ssh jumanji
rambo@jumanji.gov's password

Previously SSH complained about permissions on jumanji_rsa.pub were too open set at 644. I changed it to 600 and lost the permissions error and gained the password fallback. I then changed it back to 644 and SSH still doesn't complain about permissions but still wants a password.

I've also restarted sshd several times.

Output of ssh -v jumanji per request in comments:

$ ssh -v jumanji
OpenSSH_5.9p1, OpenSSL 0.9.8x 10 May 2012
debug1: Reading configuration data /Users/bronson/.ssh/config
debug1: /Users/bronson/.ssh/config line 11: Applying options for jumanji
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 53: Applying options for *
debug1: Connecting to jumanji.gov [192.***.***.**] port 26000.
debug1: Connection established.
debug1: identity file /Users/bronson/tmp/ssh/jumanji_rsa.pub type -1
debug1: identity file /Users/bronson/tmp/ssh/jumanji_rsa.pub-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.0p1 Debian-4
debug1: match: OpenSSH_6.0p1 Debian-4 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9
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 14:3b:75:e0:03:24:f9:f9:69:3d:9d:80:14:3d:1c:bd
debug1: checking without port identifier
debug1: Host 'jumanji.gov' is known and matches the RSA host key.
debug1: Found key in /Users/bronson/.ssh/known_hosts:15
debug1: found matching key w/out port
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_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/bronson/tmp/ssh/jumanji_rsa.pub
debug1: Next authentication method: password
rambol@jumanji.gov's password:
  • Can you run the latter command with ssh -v jumanji and show the output? – ott-- Aug 7 '13 at 16:34
  • Edited question to include ssh -v jumanji output. – Jack Frost Aug 7 '13 at 17:16

600 is the correct permissions--for both your ssh config and your private key. IdentityFile should point to your private key, not the public one. So you should want:

Host jumanji
  HostName jumanji.gov
  User rambo
  Port 26000
  IdentityFile ~/.ssh/jumanji_rsa

This is assuming the contents of jumanji_rsa.pub have been appended to the remote server's ~/.ssh/authorized_keys.

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.