SSH authentication on Linux/Unix Servers

Aunque encontrar esta información en la red no es especialmente difícil, uno de los motivos de escribir este blog, fue el de servirme de repositorio o base de datos de conocimiento, así que esta entrada tiene más el carácter de receta que de otra cosa.

Antes de empezar:

Típicamente las claves ssh para un usuario se guardan dentro de su home en el directorio .ssh

Si entramos en el (fijaos que es un directorio oculto) veremos si ya tenemos alguna clave generada o si tenemos que generarla.

Generando una clave nueva:

La clave la generaremos con el siguiente comando:

ssh-keygen -t rsa -b 4096

durante la ejecución del mismo nos preguntara el nombre de los ficheros y la passfrase de seguridad para proteger la clave.

Añadir la clave al ssh-agent:

Si queremos usar ssh-agent para usar nuestra clave es muy sencillo:

ssh-add ~/.ssh/id_rsa

Acordaos de comprobar que el ssh-agent este corriendo.

Añadiendo la clave ssh al servidor:

Lo primero que tenemos que hacer es copiar la clave publica (unicamente la publica) al servidor y una vez allí la añadiremos al fichero authorized_keys.

Si este fichero no existe, no os preocupéis, podemos crearlo sin problema. En cuanto a la manera de introducir la clave en el fichero, podemos hacerlo bien con nuestro editor favorito, bien (mi preferida) con la linea de comando:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys'

si tenemos las claves en una máquina Linux, podemos hacer esto sin tener que subir previamente la clave (on the fly):

cat ~/.ssh/id_rsa.pub | ssh usuario@servidor 'cat >> ~/.ssh/authorized_keys'

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.