Introducción
Todas las máquinas Linux se instalan por defecto con un usuario root, que tiene todos los privilegios del sistema. Por defecto, siempre actúas como superusuario. Las mejores prácticas de seguridad recomiendan desactivar el inicio de sesión root mediante SSH para evitar el acceso no autorizado a tu máquina Linux. Desactivar el inicio de sesión root bloquea el acceso root mediante SSH a tu máquina Linux, lo que significa que nadie puede aprovechar los privilegios ilimitados. Siguiendo las prácticas de seguridad recomendadas, deberías crear un usuario adicional con casi todos los privilegios de superusuario para iniciar sesión.
En este tutorial, deshabilitará el inicio de sesión de root en Ubuntu para evitar el acceso de root no autorizado a través de SSH y mejorar la seguridad de su sistema basado en Linux.
Requisitos previos
Para completar este tutorial, necesitará lo siguiente:
- Un servidor Ubuntu 20.04 con un usuario no root con privilegios de sudo, un firewall y al menos 1 GB de RAM, que puede configurar siguiendo nuestra guía de configuración inicial del servidor Ubuntu 20.04.
Paso 1: Inicia sesión y consulta auth.log
En este punto, inicia sesión en el servidor como usuario no root con privilegios de sudo para comprobar los intentos de autenticación. Al consultar el registro de autenticación, podrás ver tanto los intentos de inicio de sesión autorizados como los no autorizados.
Durante los pasos previos, creó un nuevo usuario y lo agregó al grupo sudo para otorgarle privilegios administrativos. Usará este usuario sudo para acceder a su sistema, ya que no podrá iniciar sesión como usuario root después de deshabilitar el inicio de sesión root.
Según el método de inicio de sesión elegido, use SSH para iniciar sesión en el servidor. Si usó una clave SSH para iniciar sesión en la cuenta raíz durante la configuración inicial del servidor, debería usar el mecanismo basado en clave, ya que la autenticación con contraseña está deshabilitada al usar el inicio de sesión basado en clave. De lo contrario, use el inicio de sesión con contraseña con la contraseña del usuario sudo.
ssh sammy@your_server_ipSi está utilizando el método de inicio de sesión basado en clave, utilice el siguiente comando para iniciar sesión en el servidor como el usuario sudo:
ssh -i your_private_key sammy@your_server_ipBandera -i Señala el archivo de identidad desde el cual se lee su clave privada para la autenticación.
Luego, verifique el archivo auth.log usando el siguiente comando:
cd /var/log/
sudo cat auth.logIngrese su contraseña si se le solicita.
Obtendrás un resultado similar a este:
Output
May 29 18:46:32 ubuntu sshd[3886]: Disconnected from invalid user cally 43.155.90.144 port 47454 [preauth]
May 29 18:51:56 ubuntu sshd[3890]: Received disconnect from 195.38.129.16 port 10017:11: Bye Bye [preauth]
May 29 18:51:56 ubuntu sshd[3890]: Disconnected from authenticating user root 195.38.129.16 port 10017 [preauth]
May 29 18:52:24 ubuntu sshd[3892]: Received disconnect from 178.128.234.248 port 58660:11: Bye Bye [preauth]
May 29 18:52:24 ubuntu sshd[3892]: Disconnected from authenticating user root 178.128.234.248 port 58660 [preauth]
May 29 18:52:34 ubuntu sshd[3894]: Received disconnect from 43.134.106.128 port 33854:11: Bye Bye [preauth]
May 29 18:52:34 ubuntu sshd[3894]: Disconnected from authenticating user root 43.134.106.128 port 33854 [preauth]
May 29 18:53:07 ubuntu sshd[3896]: Invalid user projects from 176.183.60.72 port 42070
May 29 18:53:07 ubuntu sshd[3896]: Received disconnect from 176.183.60.72 port 42070:11: Bye Bye [preauth]
May 29 18:53:07 ubuntu sshd[3896]: Disconnected from invalid user projects 176.183.60.72 port 42070 [preauth]
May 29 18:57:27 ubuntu sshd[3900]: Received disconnect from 92.255.85.135 port 20436:11: Bye Bye [preauth]
May 29 18:57:27 ubuntu sshd[3900]: Disconnected from authenticating user root 92.255.85.135 port 20436 [preauth]
May 29 19:06:40 ubuntu sshd[3903]: Invalid user default from 27.71.207.190 port 57513
May 29 19:06:41 ubuntu sshd[3903]: Connection closed by invalid user default 27.71.207.190 port 57513 [preauth]
...Después de iniciar sesión y revisar su registro de autenticación, es posible que vea muchas solicitudes no autorizadas que recibe su servidor. Esto podría indicar que debería desactivar el inicio de sesión root y cambiar sus claves y contraseñas regularmente.
Paso 2: Deshabilitar el inicio de sesión root
En este paso, abrirá el archivo sshd_config para deshabilitar el inicio de sesión root y luego reiniciará el servicio sshd para leer la configuración después de las modificaciones.
El archivo sshd_config contiene archivos de configuración SSH que almacenan los parámetros utilizados por el servicio sshd. Este servicio se encarga de administrar las conexiones SSH. Debe reiniciar el servicio sshd para aplicar los cambios de configuración.
sudo nano /etc/ssh/sshd_configExplore el archivo y busque la línea PermitRootLogin:
Output
...
#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
...Entonces, la cantidad Permitir inicio de sesión raíz de Sí A No Cambiar:
Output
...
#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
...Guarde y cierre el archivo, luego reinicie el servicio sshd para aplicar los cambios de configuración:
sudo systemctl restart sshdPaso 3: Prueba de inicio de sesión raíz
Después de deshabilitar el inicio de sesión root, intente iniciar sesión como usuario root mediante SSH. Para iniciar sesión con su contraseña o clave SSH, use los siguientes comandos:
ssh root@your_server_ipIniciar sesión como root generará un mensaje de error como este:
root@your_server_ip: Permission denied (publickey).Para recuperar el acceso al servidor, utilice las credenciales de un usuario que no sea root con privilegios de sudo para iniciar sesión:
ssh sammy@your_server_ipResultado
En este artículo, has configurado sshd para deshabilitar el inicio de sesión root en Ubuntu. Ahora sabes cómo deshabilitar el inicio de sesión root en tus equipos Linux y así brindar mayor seguridad a tus sistemas.









