Conectarse desde Mac y Linux a través de SSH con una llave privada

Estándar

En este artículo voy a detallar como utilizar una llave privada para ingresar a un servidor Raspberry Pi (que tiene instalado Raspbian – basado en Debian) a través de una sesión de terminal en MacOS Catalina (que como saben está basado a su vez en BSD). Así que pueden utilizar el mismo proceso desde cualquier programa de Terminal en Linux.

¿Qué vamos a necesitar?

Un programa cliente de SSH instalado en tu Linux o como en mi caso MacOS Catalina, en la mayoría de los casos se utiliza ssh. También necesitarán un editor de texto, en este caso yo utilizo vim.

Para ingresar con una llave privada

Utilizando el editor de texto, creamos un archivo donde almacenaremos la llave privada. En este ejemplo crearemos el archivo dummykey.txt. Debemos tener ya previamente copiado (usando ctrl+c o command+c) el contenido de nuestro certificado emitido por el servidor al que estamos queriendo ingresar. Luego en el caso de que decidamos utilizar el editor vim (hagan click aquí para una excelente cheat sheet), el comando sería el siguiente:

vim dummykey.txt

Luego de ejecutar el comando y por tanto tener abierto el editor, presionamos la tecla i para entrar en modo de inserción. Luego pegamos el contenido de nuestro certificado que copiamos previamente al portapapeles (usando ctrl+v o command+v). Es muy importante que incluyamos las líneas BEGIN y END del certificado. Luego presionamos la tecla escape (esc) para dejar el modo inserción con el texto ya pegado dentro del archivo en el editor. Luego presionamos la tecla dos puntos : para ingresar al modo de entrada de comandos y escribimos wq para guardar el archivo y volver a la terminal (aclaro que el comando wq que enviamos a vim es la combinación de dos comandos w de write y q de quit o sea, escribir/guardar y -luego- salir).

Importante!

Luego tenemos que configurar los permisos al archivo del certificado que acabamos de crear, debemos aplicarle el modo 600 (también pueden aplicarle el 400). Tomen en cuenta que si omitimos este paso, lo demás de aquí en adelante fallará. El comando es:

chmod 600 dummykey.txt

Luego utilizamos la llave como parámetro del comando para ingresar utilizando SSH, en este caso utilizaremos el usuario user y el IP de nuestro Raspberry Pi es 192.168.0.33:

ssh -i dummykey.txt user@192.168.0.33

Cuando nos aparezca el diálogo solicitando la confirmación de la conexión, debemos aceptarlo tecleando la palabra yes y luego presionamos la tecla Enter.

En el caso de que la llave exija una contraseña, cuando aparezca el diálogo solicitándola, se deberá escribir y luego presionar la tecla Enter para completar la conexión correctamente.

Saludos.