Connecting to a remote Centos server using SSH Keys

guillermog picture guillermog · Dec 9, 2012 · Viewed 12.3k times · Source

I am trying to connect to a Centos 6.3 Server using an SSH Key so I can run a script remotely without it asking for a password everytime. I have followed the following instructions:

  1. Login to the server using the normal ssh command and password one time so the server adds your computer to the known hosts
  2. In your computer using cygwin-terminal generate the keys and leave the passphrase blank:ssh-keygen -t rsa
  3. Now set permissions on your private key and ssh folder:chmod 700 ~/.ssh & chmod 600 ~/.ssh/id_rsa
  4. Copy the public key (id_rsa.pub) to the server, login to the server and add the public key to the authorized_keys list: cat id_rsa.pub >> ~/.ssh/authorized_keys
  5. Once you've imported the public key, you can delete it from the server. Set file permissions on the server: chmod 700 ~/.ssh & chmod 600 ~/.ssh/authorized_keys
  6. Retart the ssh daemon on the server: service sshd restart
  7. Test the connection from your computer:ssh [email protected]

But when I try to ssh to the remote server it is still asking me for the password. The .ssh folder was not created on the server so I had to created myself. Any ideas of what might be happening? did I miss something? Is there another way to set up the keys?

Answer

khagler picture khagler · Dec 9, 2012

Apparently this is a known bug. The suggested solution doesn't actually work, but I found that this would on a CentOS 6.2 system at work:

chmod 600 .ssh/authorized_keys
chmod 700 .ssh