Search code examples
sshssh-keysopenssh

Connecting to a remote Centos server using SSH Keys


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?


Solution

  • Well it turns out I had stupidly changed the owner of the /root directory when I was setting up the server so since this is where the /.ssh directory was for the user I was trying to loggin with (root) it was denying access to that directory because it belonged to another user.

    Dec 10 16:25:49 thyme sshd[9121]: Authentication refused: bad ownership or modes for directory /root
    

    I changed the owner back to root and that did it.

    chown root /root
    

    Thanks guys for you help.