Desactivar o habilitar el inicio de sesión raíz SSH y limitar el acceso SSH en Linux

Todo el mundo sabe que los sistemas Linux vienen con acceso de usuario root y por defecto, el acceso root está habilitado para el mundo exterior.

Por razones de seguridad, no es una buena idea tener habilitado el acceso root por ssh para usuarios no autorizados. Porque cualquier hacker puede intentar adivinar tu contraseña y obtener acceso a tu sistema.

Disable SSH Root Login

Así que, es mejor tener otra cuenta que uses regularmente y luego cambiar al usuario root utilizando el comando ‘su –‘ cuando sea necesario. Antes de empezar, asegúrate de tener una cuenta de usuario regular y con eso, su o sudo para obtener acceso de root.

[ También podría interesarte: Cómo asegurar y endurecer el servidor OpenSSH ]

En Linux, es muy fácil crear una cuenta separada, iniciar sesión como usuario root y simplemente ejecutar el comando adduser para crear un usuario separado. Una vez que el usuario esté creado, solo sigue los pasos a continuación para deshabilitar el inicio de sesión de root vía SSH.

Usamos el archivo de configuración maestro de sshd para deshabilitar el inicio de sesión de root y esto puede disminuir y prevenir que el hacker obtenga acceso de root a tu máquina Linux. También veremos cómo habilitar nuevamente el acceso de root así como cómo limitar el acceso ssh basado en la lista de usuarios.

Deshabilitar el Inicio de Sesión de Root de SSH

Para deshabilitar el inicio de sesión de root, abre el archivo de configuración principal de ssh /etc/ssh/sshd_config con tu editor preferido.

# vi /etc/ssh/sshd_config

Busca la siguiente línea en el archivo.

#PermitRootLogin no

Elimina el ‘#‘ del principio de la línea. Haz que la línea se parezca a esta.

PermitRootLogin no
Disable Root Login in Linux

A continuación, necesitamos reiniciar el servicio del demonio SSH.

# systemctl restart sshd
OR
# /etc/init.d/sshd restart

Ahora intenta iniciar sesión con el usuario root, obtendrás un error de “Permiso denegado“.

$ ssh [email protected]
[email protected]'s password: 
Permission denied, please try again.
SSH Permission Denied Error

Entonces, a partir de ahora inicia sesión como un usuario normal y luego usa el comando ‘su’ para cambiar al usuario root.

$ ssh [email protected]
[email protected]'s password:
Last login: Mon Dec 27 15:04:58 2021 from 192.168.0.161

$ su -
Password:
Last login: Mon Dec 27 15:05:07 IST 2021 on pts/1
SSH User Login

Habilitar el Inicio de Sesión de Root de SSH

Para habilitar el inicio de sesión de root ssh, abre el archivo /etc/ssh/sshd_config.

# vi /etc/ssh/sshd_config

Busca la siguiente línea y elimina el ‘#‘ al principio y guarda el archivo.

PermitRootLogin yes
Enable Root Login in Linux

Reinicia el servicio sshd.

# systemctl restart sshd
OR
# /etc/init.d/sshd restart

Ahora intenta iniciar sesión con el usuario root.

$ ssh [email protected]
[email protected]'s password:
Last login: Mon Dec 27 15:14:54 2021 from 192.168.0.161
SSH Root Login

Limitar los Inicios de Sesión de Usuario de SSH

Si tienes un gran número de cuentas de usuario en los sistemas, entonces tiene sentido que limitemos el acceso remoto SSH solo a aquellos usuarios que realmente lo necesitan. Abre el archivo /etc/ssh/sshd_config.

# vi /etc/ssh/sshd_config

Agrega una línea AllowUsers al final del archivo con una lista de nombres de usuario separados por espacios. Por ejemplo, el usuario tecmint y sheena tienen acceso remoto SSH.

AllowUsers tecmint sheena
Limit SSH User Login

Ahora reinicia el servicio ssh.

Source:
https://www.tecmint.com/disable-or-enable-ssh-root-login-and-limit-ssh-access-in-linux/