Cómo configurar las teclas SSH en Linux

Cómo configurar las teclas SSH en Linux

SSH o Secure Shell es un protocolo utilizado para habilitar la comunicación entre dos computadoras y compartir datos. Proporciona una autenticación habilitada con contraseña o sin contraseña (deshabilitada) y cifra la comunicación entre dos hosts. Cuando se trabaja con servidores CentOS la mayor parte del tiempo, se dedica a la terminal vinculada a su servidor a través de SSH.

En esta guía, nos centraremos en configurar la autenticación basada en claves de SSH para un servidor CentOS 8. Las teclas SSH ofrecen una técnica directa y constante de comunicación con servidores remotos y se alienta a todos los usuarios.

Creación de teclas SSH en Linux

Para generar un nuevo par de claves RSA de 2048 bits, abra el terminal y ejecute el comando otorgado:

ssh-keygen  

Después de presionar la entrada, verá la siguiente salida:

Si presiona ENTER, de forma predeterminada, guardará el par de teclas en el .Subdirectorio SSH de su carpeta de su_home. También puede proporcionar la ruta alternativa de dónde desea guardar el par de claves, pero se recomienda usar el directorio predeterminado para guardar el par de claves:

Si ha creado un par de claves antes en la máquina de su cliente, se le pedirá que lo sobrescriba. Depende de usted elegir sí o no, pero tenga cuidado de elegir la opción 'y'. Si elige la opción 'Y', no podrá usar el par de claves anterior para iniciar sesión en el servidor.

Ahora se le pedirá que proporcione una frase de pases para agregar una capa adicional de seguridad que evite que los usuarios no autorizados accedan al servidor. Simplemente presione ENTER si no desea proporcionar ninguna frase de pases:

Después de proporcionar la frase de pases, verá la siguiente salida:

Ahora ha generado con éxito un par de claves SSH, para verificar esto Ejecutar el comando otorgado:

ls -l ~/.ssh/id_*.pub  

El comando dado anteriormente emitirá la ruta al archivo que contiene el par de teclas SSH. Si genera un error como "no se encuentra dicho archivo o directorio", eso significa que el par de claves no se creó con éxito y tendrá que repetir el proceso nuevamente.

Agregar la tecla SSH al sistema remoto

Una vez que haya creado el par de claves, necesita agregar la tecla SSH al servidor CentOS. La forma más rápida es usar el método SSH-Copy-ID. En algunos casos, es posible que no tenga el método SSH-Copy-ID disponible en su máquina local. En este caso, puede usar un método alternativo para agregar la tecla SSH al servidor CentOS.

Agregar tecla SSH a través de SSH-Copy-ID Dominio

Su máquina local probablemente tendrá el método SSH-Copy-ID de forma predeterminada. Este método solo funcionará en caso de que tenga acceso SSH basado en contraseña al servidor:

ssh-copy-id [correo electrónico protegido] _host

Para mi servidor usaré:

SSH-Copy-ID [correo electrónico protegido]  

La dirección IP es la IP de su sistema, escriba sí y presione Enter, se le pedirá que ingrese la contraseña del usuario remoto:

Una vez que el usuario complete todos los pasos, la clave pública se copiará en el servidor:

Agregar la tecla SSH sin SSH-Copy-ID

En caso de que su máquina local no tenga instalado el método SSH-Copy-ID, lo cual es muy poco probable, entonces tendrá que ejecutar este comando para agregar las teclas SSH al servidor.

Para mi servidor local usaré:

gato ~/.ssh/id_rsa.pub | ssh [correo electrónico protegido] "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/autorized_keys && chmod 600 ~/.ssh/autorized_keys "  

Cómo iniciar sesión en el servidor usando las teclas SSH

Ahora que ha agregado con éxito la clave al servidor, debería poder iniciar sesión en el servidor sin la contraseña del usuario:

$ ssh [correo electrónico protegido] _ip_address

Para mi servidor usaré el siguiente comando:

ssh [correo electrónico protegido]  

Si no estableció la frase de pases, puede iniciar sesión sin autenticación. Es la forma más rápida de iniciar sesión en el servidor, de lo contrario debe pasar por la etapa de autenticación.

Paso 3 - Cómo deshabilitar la autenticación de contraseña de SSH

Puede agregar una capa de seguridad adicional deshabilitando la autenticación de contraseña para SSH. Antes del proceso inicial, asegúrese de que pueda acceder a su servidor sin la contraseña como usuario raíz o como usuario no raíz con privilegios de sudo.

Para deshabilitar la autenticación de contraseña de SSH, el primer inicio de sesión en el servidor:

ssh [correo electrónico protegido]  

Ahora abriremos y modificaremos el archivo de configuración SSH ubicado en/etc/ssh/sshd_config:

sudo nano/etc/ssh/sshd_config  

Después de abrir el archivo de configuración, realice los siguientes cambios:

Contraseña Autenticación no 

Descopment Las líneas dadas anteriormente si se comentan eliminando el signo # y establecen su valor en NO.

Después de la modificación del archivo SSH, debe guardar y cerrar el archivo presionando Ctrl + X y reinicie el servicio SSH usando el siguiente comando:

sudo systemctl reiniciar sshd  

Al hacer todos los pasos, la autenticación basada en contraseña está deshabilitada con éxito.

Conclusión

SSH es un protocolo de red seguro que se utiliza para la comunicación entre un servidor remoto y un cliente; Es más seguro que FTP para transferencias de archivos entre un cliente y un servidor. En este artículo, aprendimos a generar pares de claves SSH y configurar la autenticación basada en SSH para servidores basados ​​en CentOS 8, también aprendimos a deshabilitar la autenticación de contraseña SSH.