Hace un tiempo, escribí como acceder de un servidor a otro mediante certificados por SSH, para automatizar tareas que requieran de una conexión SSH entre servidores, evitando así tener que introducir el password. Aquí el post original.
Sin embargo, en ocasiones, el SSH no está configurado para aceptar conexiones con password, y no podemos por lo tanto, usar el comando «ssh-copy-id». Para estas ocasiones, podemos seguir el procedimiento descrito a continuación:
Server desde el cual nos queremos conectar
- Creamos la clave pública estando logueados con el usuario desde el cual queremos iniciar el logueo
- Copiamos la clave pública generada:
ssh-keygen -t dsa
cat .ssh/id_dsa.pub
Server al cual nos queremos conectar
- Vamos a la home del usuario al cual nos queremos conectar, y si no tiene ya creado el directorio .ssh y el fichero «authorized_keys», los creamos:
- Usaremos authorized_keys2 en lugar de authorized_keys, porqué authorized_keys2 hace referencia al protocolo 2, usado por SSH en las versiones actuales, en lugar de usar el ya obsoleto protocolo 1 (puedes ver el tipo de protocolo configurado en el fichero /etc/ssh/sshd_config).
- Una vez tengamos listo el fichero authorized_keys2, símplemente lo abriremos y copiaremos ahí el certificado público del server desde el cual nos queremos conectar (descrito en el punto 2 anterior).
mkdir .ssh
chmod 700 .ssh
cd .ssh
touch authorized_keys2
chmod 600 authorized_keys2
Con esto estaremos listos para conectar con certificado, sin necesidad de habilitar (aunque sea momentáneamente) la autentificación por password para el SSH.
Fuente: http://sshkeychain.sourceforge.net/mirrors/SSH-with-Keys-HOWTO/SSH-with-Keys-HOWTO-4.html
mkdir .ssh
Foto por Piano Piano!
Una respuesta a «SSH con certificados»