Conectarse a un servidor por SSH con un fichero de certificado digital PEM

Creo que no soy el único que maneja a diario SSH para administrar servidores remotos desde la estupenda consola bash de Linux. Normalmente, el uso más frecuente, es autenticar usando un par usuario/contraseña, es decir algo así:

ssh administrador@dirección_equipo

Y luego introducir el password. Sin embargo, esta no es la única forma. Para mayor seguridad y sobre todo para evitar ataques de fuerza bruta, podemos generar un certificado digital en formato X.509 y guardarlo por ejemplo en un fichero .PEM, que almacenará dicho certificado codificado en Base64 y encerrado entre “—–BEGIN CERTIFICATE—–” y “—–END CERTIFICATE—–”.

De esta forma, podremos conectarnos, si el certificado está registrado en el servidor, haciendo uso de éste sin necesidad de introducir usuario y contraseña, sino indicándole al cliente de ssh dónde buscar el fichero. Sería algo así:

ssh -i ruta-a-fichero.pem -v usuario@equipo

Author Description

F. Javier Carazo Gil

Casi Ingeniero Informático, co-fundador y administrador de Linux Hispano, además de desarrollar software y mantener sistemas en el CSIC, hace poco he fundado junto con Alberto Hornero una start-up: CODECTION donde trabajamos con software libre. Puedes saber más sobre mí, mi vida laboral, mis libros, mis artículos y mi día a día en @fjcarazo y en mi perfil público de LinkedIn.

  • Pingback: Bitacoras.com

  • http://twitter.com/Le_Zurdo Le Gabo

    Tambien es posible especificar la ruta del fichero .pem en el archivo ~/.ssh/config para no tener que escribir la ruta del archivo cada que se desee conectarse al servidor

  • http://www.linuxhispano.net/ F. Javier Carazo Gil

    ¿Podrías comentarnos ese método?

  • Pingback: Copiar ficheros mediante SCP usando un fichero PEM para autenticarse | Linux Hispano

  • http://twitter.com/Le_Zurdo Zurdormido

    Editas el archivo ~/.ssh/config y agregas una línea que diga IdentityFile *ruta al archivo.pem*, con eso ya no necesitas agregar el parámetro -i al comando ssh. Lo uso así en ubuntu, no se si en otras distros cambie de ubicación el archivo de configuración de ssh

  • http://www.linuxhispano.net/ F. Javier Carazo Gil

    Gracias, ahora que lo dices, he hecho algo así para usar sshfs, ¡me suena! Tiene sentido que sirva para eso mismo también.

    Lo dicho, gracias por el apunte, muy útil.