En muchas distribuciones de Linux no se permite el login de un usuario como root vía SSH de forma predeterminada.

No permitir el login vía SSH del usuario root se realiza por motivos de seguridad, de esta forma el atacante no conoce el usuario para hacer login y además si lograra hacer login con otro usuario, no tendría derechos de root sobre el equipo.





De hecho, cuando esta protección está activada e intentamos realizar login como root, nos encontramos con que al intentar iniciar sesión como root, todo y especificar la contraseña correcta, aparece: "Acceso denegado" o "Access denied".





Como podemos ver, en entornos de producción, por motivos de seguridad, es buena idea tener esta protección activada.





Igualmente, esta configuración puede ser cambiada editando el fichero de configuración del servicio OpenSSH del lado servidor.





Linux: Habilitar ssh root: ¿Cómo lo hacemos?





La configuración del servicio OpenSSH reside en la siguiente ruta:





/etc/ssh/sshd_config





Al editar el fichero, deberemos localizar la siguiente linea:





PermitRootLogin without-password





y cambiarla por:





PermitRootLogin yes





Finalmente, bastará con reiniciar el servicio para que se apliquen los cambios:





- En el caso de RedHat/CentOS, el nombre del servicio es sshd, por tanto lo reiniciaremos ejecutando:





service sshd restart





- En el caso de Ubuntu/Debian, el nombre del servicio es ssh, por tanto lo reiniciaremos ejecutando:





service ssh restart





Linux: Habilitar ssh root: Posibles problemas





Nos podemos encontrar con ciertos problemas en el momento de para habilitar el inicio de sesión del usuario root vía SSH porque hayan ciertas configuraciones que impidan el login como root a parte de la explicada en el punto anterior.





1) Revisar: PasswordAuthentication no





Si encontramos dentro del fichero de configuración:





PasswordAuthentication no





Deberemos cambiarlo a:





PasswordAuthentication yes





La opción PasswordAuthentication permite configurar el uso de passwords por completo, para poder hacer login vía SSH como root o como otro usuario con una contraseña, debe estar configurada la opción a: yes





2) Revisar UsePAM no





Si encontramos dentro del fichero de configuración:





UsePAM no





Deberemos cambiarlo a:





UsePAM yes





La opción U sePAM define si es posible utilizar PAM (Pluggable Authentication Module). Si vamos utilizar autentificación de usuario y contraseña es necesario que UsePAM esté configurado a: yes





3) Revisar DenyUsers root





Si encontramos dentro del fichero de configuración:





DenyUsers root





Debemos comentar o eliminar la linea.





Con DenyUsers se puede bloquear el login de un usuario especificado.