Bloquear o deshabilitar el acceso de root por SSH

Es posible proteger de intentos de acceso externos un servidor Linux estableciendo una contraseña segura para el usuario root, sin embargo sigue siendo posible el acceso mediante fuerza bruta.

Para evitar en la medida de lo posible este tipo de ataques, una de las prácticas recomendadas es bloquear el acceso del usuario root, realizar los accesos con algún usuario que no sea habitual, y una vez dentro cambiar al usuario root si fuera necesario.

Para poder hacer estos cambios es necesario acceder mediante SSH al servidor con el usuario root:

Información adicional

Puedes encontrar más información sobre el acceso por SSH a tu servidor en el artículo:

Acceder por SSH a Linux

En este ejemplo vamos a emplear el usuario tester para realizar las conexiones una vez deshabilitado el usuario root para el acceso directo por SSH, pero es posible indicar cualquier nombre. Los pasos a seguir serían los siguientes:

  1. Crear el usuario tester con el comando adduser:

    # adduser tester

  2. Especificar una contraseña para el usuario tester con el comando passwd.

    # passwd tester


    Nota: Cuando se solicite tendrás que teclear la contraseña deseada

    Nota

    Es posible probar que la conexión es correcta mediante el comando ssh desde el mismo servidor:

    # ssh tester@ip.del.servidor

  3. Modificar la variable de PermitRootLogin yes a PermitRootLogin no en el archivo de configuración de SSH. Este está ubicado normalmente en /etc/ssh/sshd_config:

    # vi /etc/ssh/sshd_config

  4. Reiniciar el servicio para aplicar los cambios.

    # /etc/init.d/sshd restart

Una vez realizados los pasos anteriores, el acceso mediante root a SSH no será posible, y tendrás que acceder con el usuario creado para, una vez dentro, cambiar a root mediante el comando su –.

Para comentar sobre este artículo, rellena el formulario. Los campos marcados con un asterisco (*) son obligatorios.


*