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

Cómo crear un usuario en cPanel desde SSH

Actualizado el 19 de noviembre de 2025

¿Por qué crear un usuario de cPanel desde SSH?

Cuando administras un servidor dedicado o un VPS, llega un momento en el que necesitas crear una cuenta de hosting completa para un cliente o para ti mismo. La vía más común es hacerlo desde el propio panel de WHM (Web Host Manager), pero existe una alternativa mucho más potente y rápida: hacerlo directamente desde la terminal mediante SSH.

Crear un usuario de cPanel desde SSH no solo te ahorra tiempo, sino que te da un control absoluto sobre los parámetros de la cuenta. Puedes establecer cuotas, asignar paquetes, definir dominios y configurar todo lo que necesites en una sola línea de comandos. Es una habilidad esencial para cualquier administrador de sistemas que quiera automatizar procesos o gestionar múltiples cuentas sin andar navegando por interfaces gráficas.

En esta guía completa, paso a paso, te voy a enseñar exactamente cómo hacerlo, desde los requisitos previos hasta la verificación final. No importa si eres un usuario novato en Linux o si ya tienes experiencia; aquí encontrarás todo lo necesario para crear cuentas de hosting de forma profesional y segura.


Requisitos previos para crear usuario en cPanel desde SSH

Antes de lanzarnos a escribir comandos, necesitas tener ciertas cosas claras y configuradas. No podemos saltarnos esta parte, porque si no tienes los accesos adecuados, no llegarás a ningún lado.

Acceso SSH al servidor

Lo primero y más importante: necesitas tener acceso SSH al servidor donde está instalado cPanel. Esto significa que debes tener las credenciales de root o de un usuario con privilegios de superusuario. Si no sabes cómo conectarte por SSH, te doy un resumen rápido:

  1. Abre tu terminal (en Linux o macOS) o usa PuTTY si estás en Windows.
  2. Escribe el comando ssh root@tu-servidor-ip y presiona Enter.
  3. Introduce tu contraseña de root cuando te la pida.

Una vez dentro, verás el prompt del sistema, normalmente algo como root@servidor [~]#. Eso significa que ya estás dentro y listo para trabajar.

Verificar que cPanel está instalado y funcionando

Aunque parezca obvio, a veces la gente intenta crear usuarios en servidores que no tienen cPanel o donde el servicio está caído. Para comprobarlo, ejecuta:

systemctl status cpanel

Si ves active (running), perfecto. Si no, inicia el servicio con systemctl start cpanel antes de continuar.

Herramientas necesarias

cPanel incluye una herramienta de línea de comandos llamada whmapi1 que nos permitirá interactuar con el panel de forma programática. También necesitaremos comandos básicos de Linux como useradd o passwd, aunque te recomiendo que uses la API de WHM siempre que sea posible, porque es mucho más segura y no interfiere con la base de datos de cPanel.


Método 1: Crear usuario cPanel con whmapi1 (el método recomendado)

La forma más limpia y profesional de crear una cuenta de hosting es usando la API de WHM. Este método garantiza que todos los archivos, bases de datos y configuraciones se creen correctamente, sin riesgo de corromper el sistema.

Paso 1: Conectarse al servidor

Ya estamos dentro por SSH, así que este paso ya está hecho. Pero asegúrate de estar como root o con permisos de sudo:

whoami

Si el resultado es root, adelante. Si no, ejecuta sudo su - para escalar privilegios.

Paso 2: El comando mágico para crear usuario cPanel

El comando que necesitas es whmapi1. La sintaxis básica para crear una cuenta es la siguiente:

whmapi1 createacct username=NOMBRE_USUARIO domain=MI-DOMINIO.com plan=DEFAULT

Vamos a desglosarlo:

  • username: El nombre de usuario que quieres para la cuenta (sin espacios, en minúsculas).
  • domain: El dominio principal que se asociará a esa cuenta.
  • plan: El paquete de hosting (si no defines uno, usará el que esté marcado como predeterminado).

Ejemplo real:

whmapi1 createacct username=cliente1 domain=miwebcliente.com plan=Basico

Este comando creará el usuario, el dominio, el espacio en disco, las bases de datos y todo lo necesario. Verás una salida en formato XML o JSON (dependiendo de cómo tengas configurada la API) con los detalles de la cuenta creada.

Paso 3: Establecer la contraseña del usuario

Aunque cPanel genera una contraseña automáticamente, es muy probable que quieras ponerle una propia. Para ello:

whmapi1 passwd user=cliente1 password=TuContraseñaSegura123!

O si prefieres que te la genere automáticamente, puedes omitir este paso y usar la que te mostró el comando anterior.

Paso 4: Verificar que todo está correcto

Para confirmar que la cuenta se creó bien:

whmapi1 listaccts search=cliente1

Esto te mostrará información detallada del usuario, incluyendo el estado, el dominio, el plan, etc.


Método 2: Usar useradd y scripts personalizados (más avanzado)

Si eres de los que les gusta tener el control total o necesitas automatizar algo muy específico, puedes usar el comando useradd de Linux y luego "decirle" a cPanel que existe. Pero ojo: este método es más arriesgado y requiere más conocimientos.

Crear el usuario del sistema

Primero creamos el usuario del sistema operativo:

useradd -m -s /bin/bash cliente2
passwd cliente2

El flag -m crea el directorio home, y -s define la shell. Luego estableces la contraseña con passwd.

Configurar cPanel para reconocer al usuario

Aquí viene la parte delicada. cPanel guarda sus cuentas en archivos de configuración específicos. Ejecuta:

/scripts/postwwwacct

Este script sincroniza los usuarios del sistema con cPanel. Sin embargo, no crea el dominio automáticamente, así que tendrás que hacerlo manualmente desde WHM o usando la API.

Riesgos de este método

[WARNING]
Este método no es recomendado para principiantes. Si no haces las cosas exactamente bien, puedes terminar con un usuario "fantasma" que no aparece en WHM o que no puede acceder a su panel. Siempre que sea posible, usa whmapi1. Solo recurre a useradd si sabes exactamente lo que estás haciendo.


Administración avanzada de cuentas desde SSH

Una vez que ya sabes crear un usuario cPanel, es hora de aprender a gestionarlo. Aquí te dejo algunos comandos que te harán la vida mucho más fácil.

Suspender o reactivar una cuenta

¿Un cliente no pagó? Suspende su cuenta sin borrarla:

whmapi1 suspendacct user=cliente1

Para reactivarla:

whmapi1 unsuspendacct user=cliente1

Cambiar el plan o paquete

Si un cliente necesita más recursos, cambia su plan:

whmapi1 modifyacct user=cliente1 plan=Premium

Eliminar una cuenta (con mucho cuidado)

whmapi1 removeacct user=cliente1

[WARNING]
Este comando borra TODOS los archivos, bases de datos y configuraciones de ese usuario. No hay vuelta atrás, así que asegúrate de tener un backup antes de ejecutarlo.

Listar todas las cuentas

Para ver un resumen de todas las cuentas de hosting:

whmapi1 listaccts

O si quieres algo más legible:

whmapi1 listaccts --output=text

Buenas prácticas y consejos de seguridad

Crear cuentas desde SSH es genial, pero conlleva una gran responsabilidad. Aquí van mis recomendaciones:

Usa contraseñas robustas

Las contraseñas débiles son la principal causa de hackeos. Usa combinaciones de mayúsculas, minúsculas, números y símbolos. Yo siempre recomiendo generar contraseñas aleatorias con:

openssl rand -base64 12

Automatiza con scripts

Si vas a crear muchas cuentas, crea un script de bash que haga el trabajo por ti. Por ejemplo:

#!/bin/bash
echo "Creando cuenta para $1"
whmapi1 createacct username=$1 domain=$2 plan=Basico

Guárdalo como crear_cuenta.sh, dale permisos de ejecución con chmod +x y úsalo así: ./crear_cuenta.sh nuevo_usuario mipagina.com.

Mantén el servidor actualizado

Antes de hacer cualquier cosa, asegúrate de que cPanel y el sistema operativo están al día:

yum update -y

O si usas Ubuntu:

apt update && apt upgrade -y

Monitoriza los recursos

Después de crear varias cuentas, revisa que el servidor no esté sobrecargado:

top
htop
df -h

Preguntas frecuentes (FAQ)

¿Puedo crear un usuario cPanel sin tener acceso root?

No. Necesitas permisos de root o un usuario con privilegios equivalentes. cPanel no permite a usuarios normales crear cuentas de hosting.

¿Qué diferencia hay entre crear el usuario con whmapi1 y con useradd?

whmapi1 es el método oficial y seguro. Crea todo correctamente integrado con cPanel. useradd solo crea el usuario del sistema operativo, y luego tienes que hacer malabares para que cPanel lo reconozca. Te recomiendo usar siempre whmapi1.

¿Puedo crear una cuenta con un subdominio en lugar de un dominio?

Sí, puedes usar un subdominio como cliente1.tu-dominio.com en el campo domain. Pero ten en cuenta que cPanel lo tratará como un dominio independiente.

¿Cuántas cuentas puedo crear?

Depende de tu licencia de cPanel. Revisa cuántas cuentas te permite tu plan con:

whmapi1 get_license_info

¿El método funciona igual en HestiaCP? (o mejor dicho, Syspanel)

No. Este artículo es específico para cPanel. Si usas Syspanel (anteriormente conocido como HestiaCP), el proceso es completamente diferente. En Syspanel, el acceso SSH se realiza por el puerto 2106 y los comandos son distintos. Para crear usuarios en Syspanel, tendrías que usar v-add-user o similares, no whmapi1.

[INFO]
Si tienes un servidor con Syspanel, recuerda que el panel de administración se accede a través del puerto 2106 (por ejemplo, https://tu-servidor:2106), y la gestión de usuarios se hace desde la interfaz o con comandos específicos de esa plataforma, no con los de cPanel.

¿Puedo crear la cuenta desde SSH sin que el usuario pueda acceder al panel?

Sí. Puedes crear la cuenta y luego suspenderla o cambiarle la contraseña. También puedes limitar sus permisos desde WHM.


Conclusión y resumen

Crear un usuario de cPanel desde SSH es una habilidad que te va a ahorrar muchísimo tiempo si gestionas varios servidores o si trabajas como freelancer para muchos clientes. Hemos visto:

  1. El método recomendado usando whmapi1 createacct, que es seguro y rápido.
  2. El método alternativo con useradd para casos muy específicos.
  3. Comandos de administración para suspender, modificar o eliminar cuentas.
  4. Buenas prácticas de seguridad y automatización.

Recuerda siempre:

  • Usa contraseñas robustas.
  • Haz backups antes de borrar nada.
  • Mantén el servidor actualizado.
  • Si usas Syspanel, olvídate de estos comandos y usa los suyos propios, accediendo por el puerto 2106.

Ya tienes todo lo necesario para convertirte en un experto en la creación de cuentas de hosting desde la terminal. Si tienes alguna duda, déjala en los comentarios y estaré encantado de ayudarte. ¡Nos vemos en el próximo artículo!

¿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