SSH, también conocido como "Secure Shell", es un protocolo de código abierto que se utiliza para iniciar sesión en un servidor Linux remoto. Los administradores de sistemas y redes lo utilizan para administrar servidores Linux desde una ubicación remota. También se utiliza para transferir archivos entre varios sistemas Linux. Hay dos formas de iniciar sesión en un sistema Linux remoto:usando autenticación de contraseña y autenticación basada en clave. La autenticación basada en claves es más segura que las contraseñas porque solo un usuario con claves válidas puede iniciar sesión en Linux.
En esta publicación, le mostraremos cómo configurar SSH sin contraseña en Linux.
Requisitos
- Un servidor Linux en Atlantic.Net Cloud Platform
- Una contraseña de root configurada en su servidor
Paso 1:crear el servidor en la nube de Atlantic.Net
Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo Ubuntu, CentOS o Rocky Linux como sistema operativo con al menos 2 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.
Una vez que haya iniciado sesión en su servidor, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.
apt-get update -y
O
dnf update -y
Paso 2:generar una clave SSH
Primero, deberá generar un par de claves SSH en la máquina en la que está trabajando.
Puede generarlo usando el siguiente comando:
ssh-keygen -t rsa
Se le pedirá que especifique la ubicación para almacenar la clave como se muestra a continuación:
Enter file in which to save the key (/home/vyom/.ssh/id_rsa):
Simplemente presione Entrar y acepte la ruta predeterminada. Se le pedirá que establezca una frase de contraseña como se muestra a continuación:
Enter passphrase (empty for no passphrase): Enter same passphrase again:
Simplemente presione Entrar sin proporcionar ninguna frase de contraseña. Debería ver el siguiente resultado:
Your identification has been saved in /home/vyom/.ssh/id_rsa. Your public key has been saved in /home/vyom/.ssh/id_rsa.pub. The key fingerprint is: ec:50:43:d9:39:64:f8:19:63:18:ab:1c:e4:ea:f5:e7 [email protected] The key's randomart image is: +--[ RSA 2048]----+ | . oBo. | | o .+oB | | o +o = | | o = .o | | . = S | | . . + | | . o . | | o | | E | +-----------------+
Ahora, verifique su clave SSH usando el siguiente comando:
ls -la ~/.ssh/id_*.pub
Debería ver el siguiente resultado:
-rw-r--r-- 1 vyom vyom 392 Sep 8 14:34 /home/vyom/.ssh/id_rsa.pub
Paso 3:copiar la clave pública SSH al servidor remoto
Ahora, deberá copiar su clave pública en el servidor remoto. Puedes hacerlo usando el comando ssh-copy-id:
ssh-copy-id [email protected]
Se le pedirá que proporcione una contraseña raíz de un servidor remoto para copiar una clave pública:
[email protected]'s password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh '[email protected]'" and check to make sure that only the key(s) you wanted were added.
Paso 4:conectar el servidor remoto sin contraseña
En este punto, la clave SSH se genera y se copia en el servidor remoto. Ahora puede conectarse al servidor remoto sin proporcionar una contraseña:
ssh [email protected]
Una vez que esté conectado, debería ver el siguiente resultado:
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-29-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage Last login: Wed Sep 8 07:50:27 2021 from 106.222.86.57 [email protected]:~#
Paso 5:eliminar la autenticación basada en contraseña
En este punto, la autenticación basada en clave SSH está configurada correctamente. Ahora, se recomienda que deshabilite el uso de la autenticación de contraseña para que todos solo usen claves para acceder al servidor.
En el servidor Linux remoto, edite el archivo de configuración principal de SSH:
nano /etc/ssh/sshd_config
Descomente y cambie la siguiente línea:
PasswordAuthentication no
Guarde y cierre el archivo, luego reinicie el servicio SSH para aplicar los cambios:
systemctl restart ssh
Conclusión
En la guía anterior, aprendió cómo configurar la autenticación sin contraseña SSH en Linux. Ahora puede implementar la autenticación basada en clave SSH para cada servidor que desee administrar de forma remota. Pruébelo hoy en alojamiento VPS de Atlantic.Net.