En este tutorial, le mostraremos cómo configurar claves SSH en CentOS 8. Para aquellos que no lo sabían, Secure Shell (SSH) es un protocolo de red criptográfico diseñado para una conexión segura entre un cliente y un servidor. En general, hay dos formas para que los clientes accedan a sus servidores:mediante autenticación basada en contraseña o autenticación basada en clave pública. Se recomienda encarecidamente el uso de claves SSH para la autenticación, ya que es una alternativa más segura a las contraseñas. .
Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que se están ejecutando en la cuenta raíz, si no, es posible que deba agregar 'sudo
' a los comandos para obtener privilegios de root. Le mostraré la instalación y configuración paso a paso de las claves SSH en el servidor CentOS 8.
Requisitos previos
- Un servidor que ejecuta uno de los siguientes sistemas operativos:CentOS 8.
- Se recomienda que utilice una instalación de sistema operativo nueva para evitar posibles problemas.
- Acceso SSH al servidor (o simplemente abra Terminal si está en una computadora de escritorio).
- Un
non-root sudo user
o acceder alroot user
. Recomendamos actuar como unnon-root sudo user
, sin embargo, puede dañar su sistema si no tiene cuidado al actuar como root.
Configurar claves SSH en CentOS 8
Paso 1. Primero, comencemos asegurándonos de que su sistema esté actualizado.
sudo dnf update
Paso 2. Creación de claves SSH en CentOS 8.
Comience iniciando sesión en la máquina de origen (servidor local) y cree un par de claves RSA de 4096 bits usando el comando:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Después de ingresar el comando, debería ver el siguiente mensaje:
Enter file in which to save the key (/home/your-username/.ssh/id_rsa):
Para guardar el archivo en el directorio sugerido, presione Entrar. Alternativamente, puede especificar otra ubicación.
A continuación, el aviso continuará con:
Enter passphrase (empty for no passphrase):
Finalmente, la salida terminará especificando la siguiente información:
Your identification has been saved in home/your_username/.ssh/id_rsa. Your public key has been saved in home/your_username/.ssh/id_rsa.pub. The key fingerprint is: KYg355:gKmeiU5NQ-ramona5Ji57F8iO6c0K6GUr5:BMWRk username@hostname The key's randomart image is: +------[RSA 3072]-------+ | .oo. | | +o+. | | + +.+ | | o + S . | | . E . . =.o| | . + . B+@o| | + . oo*=O| | oo . .+o+| | o=ooo=| +------ [SHA256] ------+
Paso 3. Copie la clave pública al servidor CentOS.
Comience escribiendo el siguiente comando, especificando la cuenta de usuario SSH y la dirección IP del host remoto:
ssh-copy-id username@server_ip_address
Una vez que el usuario está autenticado, el contenido del archivo de clave pública (~/.ssh/id_rsa.pub
) se agregará al usuario remoto ~/.ssh/authorized_keys
archivo y la conexión se cerrará.
Por último, el resultado le indica la cantidad de claves agregadas, junto con instrucciones claras sobre qué hacer a continuación:
Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'username@server_ip_address'" and check to make sure that only the key(s) you wanted were added.
Paso 4. Conéctese al servidor remoto mediante claves SSH.
Después de completar los pasos anteriores, debería poder iniciar sesión en el servidor remoto sin que se le solicite una contraseña:
ssh remote_username@server_ip_address
Paso 5. Deshabilite la autenticación de contraseña.
Aunque logró acceder al servidor CentOS sin tener que proporcionar una contraseña, todavía tiene un sistema de autenticación basado en contraseña ejecutándose en la máquina. Esto lo convierte en un potencial objetivo de los ataques de fuerza bruta. Siga los pasos a continuación para deshabilitar la autenticación de contraseña SSH:
ssh sudo_user@server_ip_address
Abra el archivo de configuración de SSH /etc/ssh/sshd_config:
sudo nano /etc/ssh/sshd_config
PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no
Una vez que haya terminado, guarde el archivo y reinicie el servicio SSH:
sudo systemctl restart ssh
¡Felicitaciones! Ha instalado correctamente el servidor SSH. Gracias por usar este tutorial para instalar y configurar claves SSH en sistemas CentOS 8. Para obtener ayuda adicional o información útil, le recomendamos que consulte el SSH oficial sitio web.