Cómo crear e instalar claves SSH en el Shell

Generación de claves SSH en Linux

Las claves SSH ofrecen una forma muy segura de iniciar sesi√≥n en un servidor con SSH en lugar de depender simplemente de una contrase√Īa. Si bien una contrase√Īa corre el riesgo de ser finalmente descifrada, las claves SSH son bastante imposibles de descifrar usando la fuerza bruta. De hecho, generar un par de claves ofrece a los usuarios dos largas cadenas de caracteres correspondientes a una clave p√ļblica y privada. Los usuarios pueden, por lo tanto, colocar la clave p√ļblica en cualquier servidor y, posteriormente, desbloquearlo conect√°ndose con un cliente que ya posee la clave privada. Al hacer coincidir las dos claves, el sistema se desbloquea sin depender de una contrase√Īa. La seguridad puede protegerse de forma m√°s inteligente mediante un cortafuegos protegiendo la clave privada con una frase de contrase√Īa.

Instalación de claves SSH en Linux: una guía paso a paso

A continuación, se describe una guía paso a paso que detalla el proceso de instalación de claves SSH en un servidor Linux:

Paso uno: creación del par de claves RSA

El primer paso en el proceso de instalación es crear el par de claves en la máquina cliente, que, en la mayoría de los casos, será su propio sistema. Los usuarios deben usar el siguiente comando:

ssh-keygen -o -b 4096 -t rsa

El comando anterior inicia el proceso de instalaci√≥n de la clave SSH para los usuarios. La opci√≥n -o indica a ssh-keygen que almacene la clave privada en el nuevo formato OpenSSH en lugar del antiguo (y m√°s compatible formato PEM). Se recomienda enf√°ticamente usar la opci√≥n -o ya que el nuevo formato OpenSSH tiene una mayor resistencia al descifrado de contrase√Īas por fuerza bruta. En caso de que la opci√≥n -o no funcione en su servidor (se introdujo en 2014) o necesita una clave privada en el antiguo formato PEM, utilice el comando ‘ssh-keygen -b 4096 -t rsa’.

La opción -b del comando ssh-keygen se usa para establecer la longitud de la clave en 4096 bits en lugar de los 1024 bits predeterminados por razones de seguridad.

Al ingresar el comando Gen Key principal, los usuarios deben realizar el siguiente ejercicio respondiendo las siguientes indicaciones:

Enter the file where you wish to save the key (/home/demo/.ssh/id_rsa)

Los usuarios deben presionar INGRESAR para guardar el archivo en la casa del usuario

El siguiente mensaje sería el siguiente:

Enter passphrase

Si, como administrador, desea asignar la frase de contrase√Īa, puede hacerlo cuando se le solicite (seg√ļn la pregunta anterior), aunque esto es opcional, y puede dejar el campo vac√≠o en caso de que no desee asignar una frase de contrase√Īa.

Sin embargo, es pertinente tener en cuenta que ingresar una frase de contrase√Īa √ļnica ofrece una serie de beneficios que se enumeran a continuaci√≥n:

1. La seguridad de una clave, incluso cuando est√° altamente encriptada, depende en gran medida de su invisibilidad para cualquier otra parte. I 2. En el caso probable de que una clave privada segura con frase de contrase√Īa caiga bajo la custodia de un usuario no autorizado, no podr√° iniciar sesi√≥n en sus cuentas aliadas hasta que pueda descifrar la frase de contrase√Īa. Esto invariablemente le da a la v√≠ctima (el usuario pirateado) un tiempo extra valioso para evitar la oferta de pirater√≠a. En el lado negativo, asignar una frase de contrase√Īa a la clave requiere que la ingrese cada vez que usa el par de claves, lo que hace que el proceso sea un poco tedioso, sin embargo, absolutamente a prueba de fallas.

Aquí hay un resumen general del proceso de generación de claves de extremo a extremo:

Generación de claves SSH en Linux

La clave p√ļblica ahora se puede rastrear hasta el enlace ~/.ssh/id_rsa.pub

La clave privada (identificación) ahora se puede rastrear hasta el enlace-/home/demo/.ssh/id_rsa 3

Paso dos: copia de la clave p√ļblica

Una vez que se ha generado el par de claves distintas, el siguiente paso es colocar la clave p√ļblica en el servidor virtual que pretendemos utilizar. Los usuarios podr√≠an copiar la clave p√ļblica en el archivo authorized_keys de la nueva m√°quina mediante el comando ssh-copy-id. A continuaci√≥n se muestra el formato prescrito (estrictamente un ejemplo) para ingresar el nombre de usuario y la direcci√≥n IP, y debe reemplazarse con los valores reales del sistema:

ssh-copy-id [email protected]

Como alternativa, los usuarios pueden pegar las claves usando SSH (seg√ļn el comando dado):

cat ~/.ssh/id_rsa.pub | ssh [email protected] "cat >> ~/.ssh/authorized_keys"

Cualquiera de los comandos anteriores, cuando se usa, arrojar√° el siguiente mensaje en su sistema:

No se puede establecer la autenticidad del host ‘192.168.0.100’. La huella digital de la clave RSA es b1:2d:32:67:ce:35:4d:5f:13:a8:cd:c0:c4:48:86:12. ¬ŅEst√° seguro de que desea continuar conect√°ndose (s√≠/no)? s√≠ Advertencia: se agreg√≥ permanentemente ‘192.168.0.100’ (RSA) a la lista de hosts conocidos. [email¬†protected]Contrase√Īa de: ahora intente iniciar sesi√≥n en la m√°quina, con ¬ęssh¬Ľ[email¬†protected]'¬Ľ, y verifique: ~/.ssh/authorized_keys para asegurarse de que no hayamos agregado claves adicionales que no esperaba.

Despu√©s del ejercicio anterior, los usuarios est√°n listos para continuar e iniciar sesi√≥n en [email¬†protected] sin que se le solicite una contrase√Īa. Sin embargo, si anteriormente asign√≥ una frase de contrase√Īa a la clave (seg√ļn el Paso 2 anterior), se le pedir√° que ingrese la frase de contrase√Īa en este punto (y cada vez para los inicios de sesi√≥n posteriores).

Paso tres (este paso es opcional): deshabilitar la contrase√Īa para facilitar el inicio de sesi√≥n ra√≠z

Una vez que los usuarios hayan copiado sus claves SSH en su servidor y se hayan asegurado de iniciar sesión sin problemas solo con las claves SSH, tienen la opción de restringir el inicio de sesión raíz y permitir lo mismo solo a través de claves SSH. Para lograr esto, los usuarios deben acceder al archivo de configuración de SSH mediante el siguiente comando:

sudo nano /etc/ssh/sshd_config

Una vez que se accede al archivo, los usuarios deben encontrar la línea dentro del archivo que incluye PermitRootLogin y modifíquelo para garantizar una conexión infalible utilizando la clave SSH. El siguiente comando le ayudará a hacer eso:

PermitRootLogin without-password

Queda el √ļltimo paso del proceso para implementar los cambios usando el siguiente comando:

reload ssh

Lo anterior completa el proceso de instalación de claves SSH en el servidor Linux.

Convertir la clave privada de OpenSSH al nuevo formato

La mayor√≠a de las claves OpenSSH m√°s antiguas se almacenan en formato PEM. Si bien este formato es compatible con muchas aplicaciones antiguas, tiene el inconveniente de que la contrase√Īa de una clave privada protegida por contrase√Īa puede ser atacada con ataques de fuerza bruta. Este cap√≠tulo explica c√≥mo convertir una clave privada en formato PEM a una en el nuevo formato OpenSSH.

ssh-keygen -p -o -f /root/.ssh/id_rsa

La ruta /root/.ssh/id_rsa es la ruta del antiguo archivo de clave privada.

Conclusión

Los pasos anteriores lo ayudar√°n a instalar claves SSH en cualquier servidor privado virtual de una manera completamente segura y sin complicaciones.

Deja una respuesta

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