GNU/Linux >> Tutoriales Linux >  >> Linux

Conceptos básicos de Linux:cómo crear e instalar claves SSH en el Shell

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 con 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 si 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 ENTER para guardar el archivo en la página de inicio 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.

Este es un resumen general del proceso de generación de claves de principio a fin:

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:Copiar 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. Contraseña de [email protected]: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 usted estaba no estoy esperando.

Después del ejercicio anterior, los usuarios están listos para continuar e iniciar sesión en [email protected] sin que se les 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 te ayudará a hacerlo:

PermitRootLogin without-password

Queda el último paso del proceso para implementar los cambios utilizando el siguiente comando:

reload ssh

Lo anterior completa el proceso de instalación de llaves 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.


Linux
  1. Conceptos básicos de Linux:cómo descargar archivos en el Shell con Wget

  2. Cómo crear un alias y usar el comando Alias ​​en Linux

  3. Cómo establecer/crear variables de entorno y shell en Linux

  4. Cómo configurar claves SSH

  5. Cómo instalar y configurar el cliente Putty SSH en el escritorio de Linux

Cómo instalar Mosh Shell como alternativa SSH en Linux

Cómo instalar y usar Nu Shell en Linux

¿Cómo generar y usar la clave SSH en el sistema Linux?

Cómo instalar Fish Shell en Ubuntu y Linux Mint

Cómo instalar, configurar y habilitar el servicio SSH en Linux

Cómo instalar Mosh Shell como alternativa SSH en el escritorio de Linux