Acceso por SSH con archivo de autenticación en lugar de clave

Acceso por SSH con archivo de autenticación en lugar de clave

SSH es una forma segura y común de acceder a servidores de forma remota. Sin embargo, en muchas ocasiones, necesitamos conectarnos a varios servidores remotos desde nuestra máquina personal, y el uso de claves complejas puede resultar incómodo y difícil de recordar.

¡Pero no te preocupes! Existe una solución que te permitirá acceder de manera más sencilla y segura: la criptografía asimétrica.

¿Qué es la criptografía asimétrica?

La criptografía asimétrica es un sistema de encriptación que utiliza un par de llaves relacionadas entre sí: una pública y otra privada. La llave pública se comparte con otros usuarios y se utiliza para encriptar los datos, mientras que la llave privada se mantiene en secreto y se utiliza para desencriptarlos. Esto significa que, incluso si alguien tiene acceso a la llave pública, no podrá acceder a los datos sin la llave privada correspondiente.

Pasos para implementar la autenticación con criptografía asimétrica

1. Generar el par de llaves

En tu máquina cliente (tu computadora personal), debes generar un par de llaves pública/privada que te identificarán en los servidores remotos. Puedes elegir proteger la llave privada con una clave o dejarla sin protección.

Si decides dejar la llave sin clave, cualquiera que tenga acceso al archivo de la llave (por ejemplo, el usuario root en tu máquina) podría obtener el mismo nivel de acceso que tú y no se le pedirá ninguna clave al conectarse al servidor remoto.

Para generar el par de llaves, ejecuta el siguiente comando en tu terminal:

~$ ssh-keygen

Durante este proceso, puedes especificar la ubicación del archivo de la llave o simplemente presionar Enter para utilizar la ubicación predeterminada. Si eliges proteger la llave con una clave, se te pedirá que ingreses y confirmes la clave.

2. Instalar la llave pública en los servidores remotos

SSH generalmente viene con una utilidad llamada ssh-copy-id, que permite agregar el contenido de tu llave pública (~/.ssh/id_rsa.pub) en la ubicación ~/.ssh/authorized_keys del servidor remoto.

Una vez que la llave pública está instalada en el servidor, podrás acceder sin que se te pida una clave.

Para realizar este paso, copia la llave pública generada en el primer paso al servidor al que deseas ingresar:

$ ssh-copy-id -i .ssh/id_rsa.pub mmejiav@ip-server-remoto

En este punto, se te pedirá la clave de acceso al servidor remoto.

Otra opción es copiar la llave pública generada en el primer paso al servidor remoto utilizando el comando scp. Luego, agrega el contenido del archivo id_rsa.pub al final del archivo authorized_keys en el servidor.

$ cat id_rsa.pub >> .ssh/authorized_keys

Conclusión

Implementar la autenticación con criptografía asimétrica simplifica considerablemente la forma de conectarse a múltiples servidores remotos sin necesidad de utilizar claves complejas. Con este método, puedes disfrutar de mayor comodidad y seguridad al acceder a tus servidores de manera remota.

Como un punto adicional, puedes crear un alias en tu sistema para conectarte con un comando breve y facilitar aún más el acceso a tus servidores.

¡Y eso es todo! Ahora estás listo para disfrutar de una conexión SSH más fácil y segura.