GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo configurar claves SSH

Acerca de las claves SSH

Las claves SSH brindan una forma más segura de iniciar sesión en un servidor privado virtual con SSH que usar solo una contraseña. Si bien una contraseña puede eventualmente descifrarse con un ataque de fuerza bruta, las claves SSH son casi imposibles de descifrar solo por fuerza bruta. La generación de un par de claves le proporciona dos largas cadenas de caracteres:una clave pública y otra privada. Puede colocar la clave pública en cualquier servidor y luego desbloquearla conectándose con un cliente que ya tiene la clave privada. Cuando los dos coinciden, el sistema se desbloquea sin necesidad de una contraseña. Puede aumentar aún más la seguridad si protege la clave privada con una frase de contraseña.

Esta guía fue escrita principalmente por la gente de DigitalOcean. Echa un vistazo a sus excelentes opciones de servidor rentables en digitalocean.com

Paso uno:cree el par de claves RSA

El primer paso es crear el par de claves en la máquina cliente (existe una buena posibilidad de que esta sea solo su computadora):

ssh-keygen -t rsa

Paso dos:almacenar las claves y la frase de contraseña

Una vez que haya ingresado el comando Gen Key, recibirá algunas preguntas más:

Enter file in which to save the key (/home/demo/.ssh/id_rsa):

Puede presionar enter aquí, guardando el archivo en la página de inicio del usuario (en este caso, mi usuario de ejemplo se llama demo).

Enter passphrase (empty for no passphrase):

Depende de usted si desea utilizar una frase de contraseña. Ingresar una frase de contraseña tiene sus beneficios:la seguridad de una clave, sin importar cuán encriptada, aún depende del hecho de que nadie más la vea. Si una clave privada protegida con una frase de contraseña cae en posesión de un usuario no autorizado, no podrá iniciar sesión en sus cuentas asociadas hasta que descubra la frase de contraseña, lo que le dará al usuario pirateado algo de tiempo extra. El único inconveniente, por supuesto, de tener una frase de contraseña es tener que escribirla cada vez que usa el par de claves.

Todo el proceso de generación de claves se ve así:

ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/demo/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/demo/.ssh/id_rsa.
Your public key has been saved in /home/demo/.ssh/id_rsa.pub.
The key fingerprint is:
4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 demo@a
The key's randomart image is:
+--[ RSA 2048]----+
|          .oo.   |
|         .  o.E  |
|        + .  o   |
|     . = = .     |
|      = S = .    |
|     o + = +     |
|      . o + o .  |
|           . o   |
|                 |
+-----------------+

La clave pública ahora se encuentra en /home/demo/.ssh/id_rsa.pub La clave privada (identificación) ahora se encuentra en /home/demo/.ssh/id_rsa

Paso tres:copiar la clave pública

Una vez que se genera el par de claves, es hora de colocar la clave pública en el servidor virtual que queremos usar.

Puede copiar la clave pública en el archivo authorized_keys de la nueva máquina con el comando ssh-copy-id. Asegúrese de reemplazar el nombre de usuario y la dirección IP de ejemplo a continuación.

ssh-copy-id [email protected]

Alternativamente, puede pegar las claves usando SSH:

cat ~/.ssh/id_rsa.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys"

Independientemente del comando que elija, debería ver algo como:

The authenticity of host '12.34.56.78 (12.34.56.78)' can't be established.
RSA key fingerprint is b1:2d:33:67:ce:35:4d:5f:f3:a8:cd:c0:c4:48:86:12.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '12.34.56.78' (RSA) to the list of known hosts.
[email protected]'s password: 
Now try logging into the machine, with "ssh '[email protected]'", and check in:

  ~/.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

Ahora puede continuar e iniciar sesión en [email protected] y no se le pedirá una contraseña. Sin embargo, si establece una frase de contraseña, se le pedirá que ingrese la frase de contraseña en ese momento (y siempre que inicie sesión en el futuro).

Paso cuatro opcional:deshabilite la contraseña para el inicio de sesión raíz

Una vez que haya copiado sus claves SSH en su servidor y se haya asegurado de que puede iniciar sesión solo con las claves SSH , puede continuar y restringir el inicio de sesión raíz para que solo se permita a través de claves SSH.

Para hacer esto, abra el archivo de configuración de SSH:

sudo nano /etc/ssh/sshd_config

Dentro de ese archivo, busque la línea que incluye PermitRootLogin y modifíquelo para asegurarse de que los usuarios solo puedan conectarse con su clave SSH:

PermitRootLogin without-password

Aplicar los cambios:

service openssh-server restart

Linux
  1. Cómo configurar claves SSH usando cPanel

  2. Cómo utilizar claves SSH con Plesk

  3. Cómo configurar claves SSH en Ubuntu 16.04

  4. Cómo configurar claves SSH en Ubuntu 18.04

  5. Cómo configurar claves SSH en Debian

Cómo configurar claves SSH en Debian 9

Cómo configurar claves SSH en Debian 10

¿Cómo configurar claves SSH – SO Windows?

Cómo configurar la clave pública y privada SSH en Linux

Cómo configurar la clave SSH en un servidor Plesk

Cómo configurar claves SSH en Debian 11 Linux