Compartir en facebook
Compartir en linkedin
Compartir en twitter
Compartir en pinterest
Compartir en google

Contenido

Las claves SSH ayudan a agregar una capa de seguridad a su sitio web. Normalmente, una conexión SSH (Secure Shell) es entre un cliente y un servidor. Esta conexión está autenticada por una contraseña. No quiere decir que las contraseñas ya no sean seguras hoy en día. Es fácil utilizar la fuerza bruta en un servidor SSH probando diferentes combinaciones de contraseñas. ¿Cuánto tiempo cree que le tomaría a un hacker probar una contraseña de 8 dígitos? En una supercomputadora sería cuestión de minutos, en una máquina normal con su GPU, cuestión de días. Esto significa que las contraseñas son una vulnerabilidad de seguridad. Pero no se preocupe, hay una forma de evitar el uso de contraseñas. Llaves SSH

¿Qué es una clave SSH?

Una clave SSH es una clave cifrada que consta de una CLAVE PÚBLICA y una CLAVE PRIVADA. Este método funciona mediante el cifrado RSA, donde la clave pública está disponible para que todos los públicos cifren los datos, pero solo la clave privada puede descifrar esos datos. Por ahora. Técnicamente, podría descifrar una clave privada, pero le llevaría un par de años, un poco más seguro que una contraseña. Normalmente vemos este tipo de cifrado entre nuestro navegador y la web. Tienes acceso a la clave pública del servidor, que a su vez cifra tus datos. Pero no puedes descifrarlo. A esto se le llama cifrado unidireccional.

Crear una clave SSH

Primero necesita saber si tiene alguna clave generada actualmente. Para esto, simplemente ejecute el siguiente comando:

ls -l ~ / .ssh / id _ *. pub

Esto le dirá si hay claves generadas actualmente, si el resultado regresa como: No se encontraron datos / archivos, entonces puede usar la clave ya generada o crear la suya propia.

Ahora generemos la clave con el siguiente código:

ssh-keygen -t rsa -b 4096 -C "tu_correo electró[email protected]"

Asegúrese de reemplazar su dirección de correo electrónico. Ahora presione Entrar, se le pedirá que cree una frase de contraseña. Esto agrega una capa adicional de seguridad, aunque es opcional. Verá el siguiente resultado:

Ingrese la frase de contraseña (vacío si no hay frase de contraseña):

Tu salida será similar a esta

salida de línea de comando

Ahora puedes correr

ls ~ / .ssh / id_ *

La salida será

/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

Nota: Hasta ahora, todo esto se ha generado en su máquina, no en el servidor. Esto es importante porque el siguiente comando vinculará a su usuario con la clave SSH.

Vinculación de clave con usuario

ssh-copy-id nombre_usuario_remoto @ dirección_ip_servidor

Se le pedirá la siguiente salida

remote_username @ server_ip_address's password:

Una vez autenticado, el contenido de ~ / .ssh / id_rsa.pub será copiado a ~ / .ssh / claves_autorizadas. También puede ejecutar los siguientes comandos si no puede ejecutar los comandos mencionados anteriormente.

En el servidor, ejecute este comando:

cat ~ / .ssh / id_rsa.pub | ssh nombre_usuario_remoto @ dirección_ip_servidor "mkdir -p ~ / .ssh && chmod 700 ~ / .ssh && cat >> ~ / .ssh / claves_autorizadas && chmod 600 ~ / .ssh / claves_autorizadas"

Deshabilitar el inicio de sesión SSH con contraseña

ssh sudo_user @ server_ip_address sudo nano / etc / ssh / sshd_config

Busque las siguientes líneas y cámbielas de la siguiente manera:

PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no

Finalmente corre

sudo systemctl reiniciar ssh

Estás listo para irte ahora.