🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo cambiar la contraseña de root en cPanel mediante SSH

Actualizado el 6 de abril de 2026

Introducción: ¿Por qué cambiar la contraseña root desde SSH?

Cuando gestionas un servidor Linux con cPanel, la seguridad de la cuenta root es tu primera línea de defensa. Esta cuenta tiene acceso total al sistema, por lo que una contraseña débil o comprometida es una invitación abierta a los atacantes. Cambiar la contraseña root mediante cPanel SSH es una de las tareas más importantes que puedes realizar, ya sea por política de empresa, por sospecha de filtración o simplemente como mantenimiento preventivo.

Aunque cPanel ofrece una interfaz gráfica (WHM) para cambiar la contraseña, hacerlo por SSH te da control absoluto y funciona incluso si el panel tiene problemas. Además, es la opción preferida por administradores que trabajan con servidores remotos y necesitan rapidez.

En esta guía paso a paso, te explicaré cómo hacerlo de forma segura, incluso si nunca has usado la terminal antes. No necesitas ser un experto en Linux, solo seguir las instrucciones al pie de la letra.

Requisitos previos antes de cambiar la contraseña root

Antes de lanzarte a ejecutar comandos, asegúrate de tener todo listo. No querrás quedarte a medias y bloquear tu propio acceso.

Acceso SSH al servidor

Necesitas un cliente SSH. Si usas Windows, programas como PuTTY o el terminal integrado de Windows 10/11 son perfectos. En Mac o Linux, simplemente abre la terminal.

Datos de conexión

Ten a mano la IP pública de tu servidor, el puerto SSH (normalmente 22, aunque puede ser personalizado) y la contraseña actual de root (o una clave privada si usas autenticación por llaves).

Permisos de root

Este proceso solo funciona si ya tienes acceso root al servidor. Si solo tienes un usuario con privilegios sudo, puedes ejecutar sudo su - para escalar privilegios antes de continuar.

Paso 1: Conectarse al servidor por SSH

Abre tu terminal o PuTTY y ejecuta el siguiente comando, reemplazando IP_DE_TU_SERVIDOR con la dirección real:

ssh root@IP_DE_TU_SERVIDOR

Si usas un puerto personalizado, añade -p PUERTO al final. Por ejemplo:

ssh root@192.168.1.100 -p 2222

Te pedirá la contraseña actual. Escríbela (no verás nada mientras tecleas, es normal) y pulsa Enter.

[INFO] Si es la primera vez que te conectas, verás un mensaje sobre la huella del servidor. Escribe yes y continúa.

Paso 2: El comando passwd, tu mejor aliado

Una vez dentro, el proceso es sorprendentemente simple. Solo necesitas un comando: passwd. Este comando es nativo de Linux y sirve para cambiar contraseñas de usuarios del sistema.

Para cambiar la contraseña de root, escribe:

passwd

Al ejecutarlo, el sistema te pedirá:

  1. Nueva contraseña: Escribe una contraseña robusta (más abajo te doy consejos).
  2. Vuelve a escribir la nueva contraseña: Para confirmar que no hubo errores de tipeo.

Si todo sale bien, verás el mensaje: passwd: password updated successfully.

¿Y si quiero cambiar la contraseña de otro usuario?

También puedes especificar el usuario directamente. Por ejemplo, para cambiar la contraseña de un usuario llamado admin:

passwd admin

Pero para root, el comando sin argumentos es suficiente.

Paso 3: Elegir una contraseña segura (y no morir en el intento)

Aquí es donde la mayoría falla. Elegir Admin123 o root2024 es como dejar la puerta de tu casa abierta. Sigue estas reglas:

  • Longitud mínima de 12 caracteres.
  • Combina mayúsculas, minúsculas, números y símbolos (como !@#$%^&*).
  • Evita palabras del diccionario o secuencias lógicas (123456, qwerty, fechas de nacimiento).
  • No uses la misma contraseña que en otros servicios.

Un truco: usa una frase larga y conviértela en contraseña. Por ejemplo: MiPerro_Chiquito_2024! es fácil de recordar y muy difícil de crackear.

[WARNING] No uses caracteres especiales que puedan causar problemas en el shell, como $ o \, a menos que los escapes correctamente. Lo más seguro es usar símbolos estándar como !, @, #, %.

Paso 4: Verificar que el cambio se aplicó correctamente

Después de ejecutar passwd, es buena práctica verificar que todo está en orden. Puedes hacerlo de dos formas:

Opción A: Intentar hacer login de nuevo

Cierra la sesión actual escribiendo exit y vuelve a conectarte por SSH con la nueva contraseña. Si funciona, perfecto.

Opción B: Revisar el archivo de contraseñas

Ejecuta:

cat /etc/shadow | grep root

Verás una línea larga con campos separados por dos puntos. El segundo campo será un hash (una cadena de caracteres extraña). Si el hash cambió respecto al anterior, el cambio se aplicó.

[INFO] Nunca compartas el contenido de /etc/shadow con nadie. Contiene los hashes de todas las contraseñas del sistema.

Paso 5: Actualizar la contraseña en cPanel y WHM

Aunque ya cambiaste la contraseña root por SSH, es posible que cPanel tenga su propia caché de autenticación. Para evitar conflictos, es recomendable sincronizarla.

Desde WHM (WebHost Manager)

  1. Accede a https://IP_DE_TU_SERVIDOR:2087 con la nueva contraseña.
  2. Ve a "Change Password" en el menú de la izquierda.
  3. Introduce la nueva contraseña (la misma que pusiste por SSH) y confirma.
  4. Guarda los cambios.

Desde la terminal (comando alternativo)

Si prefieres hacerlo todo por SSH, puedes usar el script de cPanel:

/scripts/passwd root

Este comando actualiza la contraseña de root y sincroniza los archivos de configuración de cPanel automáticamente. Es la opción más limpia.

Errores comunes y cómo solucionarlos

"passwd: Authentication token manipulation error"

Este error suele aparecer por permisos incorrectos en el archivo /etc/shadow o porque el sistema de archivos está montado en modo lectura. Solución:

mount -o remount,rw /

Luego vuelve a intentar passwd.

"Password has already expired"

Si el sistema te dice que la contraseña ha caducado y no te deja continuar, ejecuta:

chage -M 99999 root

Esto elimina la caducidad forzada. Luego cambia la contraseña con passwd.

No recuerdo la contraseña actual de SSH

Si no puedes entrar, necesitarás acceso físico al servidor o un proveedor de hosting que te permita reiniciar en modo de rescate (modo single user). Esto ya es un proceso más avanzado, pero la mayoría de los proveedores ofrecen esta opción desde su panel de control.

Consejos extra para blindar tu servidor

Cambiar la contraseña root es solo el primer paso. Aquí tienes más buenas prácticas para mantener tu servidor Linux a salvo:

1. Desactiva el login root por SSH

En lugar de eliminar la cuenta root, restringe su acceso remoto. Crea un usuario con privilegios sudo y edita el archivo /etc/ssh/sshd_config:

PermitRootLogin no

Reinicia el servicio SSH con systemctl restart sshd.

2. Usa autenticación por clave pública

Genera un par de llaves SSH y desactiva la autenticación por contraseña. Es mucho más seguro que cualquier contraseña por muy robusta que sea.

3. Configura fail2ban

Este servicio bloquea automáticamente las IPs que intentan múltiples conexiones fallidas. Se instala fácilmente:

apt install fail2ban

4. Cambia el puerto SSH por defecto

Edita sshd_config y cambia el puerto 22 por uno alto (ej. 22022). Reduce drásticamente los ataques automatizados.

5. Realiza copias de seguridad periódicas

Aunque cambies la contraseña, un fallo de disco o un error humano pueden dejarte sin servidor. Automatiza backups con herramientas como rsync o el propio sistema de copias de cPanel.

Preguntas frecuentes sobre el cambio de contraseña root

¿Puedo cambiar la contraseña root desde WHM en lugar de SSH?

Sí, puedes ir a WHM > "Change Password". Sin embargo, usar cPanel SSH es más fiable si el panel está caído o si prefieres la línea de comandos.

¿Cuánto tarda en propagarse el cambio?

Es inmediato. En el momento en que ejecutas passwd, la nueva contraseña es válida para el sistema. No hay tiempo de espera.

¿Afecta esto a las cuentas de hosting de mis clientes?

No. Las contraseñas de las cuentas de cPanel son independientes de la contraseña root. Este cambio solo afecta al acceso administrativo del servidor.

¿Qué hago si olvido la contraseña root después de cambiarla?

Necesitarás acceso de recuperación. Contacta con tu proveedor de hosting o usa el panel de control del VPS para montar el disco en modo rescate y cambiar la contraseña manualmente.

¿Es seguro guardar la contraseña en un gestor de contraseñas?

Totalmente recomendable. Usa herramientas como Bitwarden, 1Password o KeePass para almacenar contraseñas largas sin tener que memorizarlas.

¿Puedo programar cambios automáticos de contraseña root?

Sí, puedes crear un script con cron que ejecute echo "nueva_contraseña" | passwd root cada cierto tiempo. Sin embargo, es más seguro usar herramientas de gestión de secretos como Ansible o HashiCorp Vault.

Conclusión: La seguridad root es un hábito, no un evento

Cambiar la contraseña root mediante cPanel SSH es un proceso que te llevará menos de dos minutos una vez que lo dominas. Sin embargo, la verdadera seguridad no está en una contraseña perfecta, sino en mantener hábitos constantes: cambios regulares, monitoreo de logs y desactivación de accesos innecesarios.

Recuerda que cada vez que un empleado deja la empresa, que sospechas de un ataque o que simplemente ha pasado demasiado tiempo desde el último cambio, es momento de repetir este procedimiento. La terminal de Linux es tu aliada: con un solo comando passwd, tienes el poder de proteger todo tu ecosistema.

Si este tutorial te ha sido útil, compártelo con otros administradores que aún duden en usar SSH. Y no olvides: la próxima vez que veas un servidor con la contraseña root123, ya sabes qué hacer.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel