The CentOS wiki page misses out a crucial step in setting up passwordless SSH.
Whilst the wiki provides most of the information required to set up passwordless SSH on CentOS, namely:
- Creating SSH keys
- Setting key permissions correctly
- Ensuring correct SELinux contexts
- Setting “PasswordAuthentication no” in /etc/ssh/sshd_config
If there is a problem with the key then this setup will still go ahead and ask for a password when trying to connect via SSH. Which is probably not what you want if you are trying to turn off password authentication. To resolve this you must again edit /etc/ssh/sshd_config and set:
By default it is set to ‘yes’ (this is an interesting difference between CentOS and Ubuntu).
Don’t forget to restart the SSH service after making changes otherwise they won’t be updated:
sudo service sshd restart