Primero, en el PC cliente donde vamos a abrir las conexiones con el servidor, creamos un certificado rsa:
user@localhost$ ssh-keygen -t rsa -f
~/.ssh/id_rsa_$(echo $HOSTNAME)_`whoami`
Después copiamos el certificado recién generado al servidor donde ya no queremos que pida usuario y contraseña:
user@localhost$ ssh-copy-id -i ~/.ssh/id_rsa_$(echo $HOSTNAME)_`whoami`.pub user@remote-host
Tras esto, probamos la conexión y deberá abrir la sesión ssh sin pedir usuario o clave.
user@localhost$ ssh user@remote-host
Permisos
Si al usar la clave, nos da un error de permisos, hay que hacer un chmod 600 de los ficheros de clave ssh:
Los permisos del propio directorio deben ser 700
user@localhost$ ssh -i .ssh/id_rsa remote_host
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'sshkey/id_rsa.pub' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key:
Para configurar los permisos de directorio:
chmod 600 ~/.ssh/id_rsa*
chmod 700 ~/.ssh