Cómo acceder a DirectAdmin desde SSH (Comandos y trucos)
¿Por qué acceder a DirectAdmin desde SSH?
DirectAdmin es uno de los paneles de control de hosting más utilizados en servidores Linux. Su interfaz gráfica es amigable, pero cuando necesitas realizar tareas avanzadas, diagnosticar errores o automatizar procesos, el acceso por SSH se convierte en tu mejor aliado.
Acceder a DirectAdmin desde SSH no significa que vayas a "abrir" el panel dentro de la terminal. En realidad, te conectas al servidor donde está instalado DirectAdmin y, desde ahí, ejecutas comandos para gestionar el panel, los dominios, las cuentas de usuario o los servicios del sistema.
Este artículo está pensado para que, incluso sin experiencia previa con Linux, puedas entender cómo funciona este acceso, qué comandos son útiles y qué trucos te ahorrarán tiempo en el día a día.
Requisitos previos antes de conectarte por SSH
Antes de lanzarte a ejecutar comandos, asegúrate de tener lo siguiente:
- Datos de acceso SSH: dirección IP del servidor, puerto (normalmente 22), usuario con permisos (root o un usuario con sudo) y contraseña o clave privada.
- Un cliente SSH: en Windows puedes usar PuTTY o el terminal integrado de Windows 10/11. En macOS y Linux, simplemente abre la terminal.
- Conocimiento básico de navegación en terminal: saber usar comandos como
cd,lsypwdte ayudará mucho.
[INFO] Si tu servidor usa un puerto SSH distinto al 22 (algo muy recomendado por seguridad), deberás especificarlo en la conexión. Por ejemplo:
ssh -p 22000 usuario@tuserver.com
Primeros pasos: cómo conectarte al servidor
La conexión SSH es el punto de partida. Dependiendo de tu sistema operativo, el proceso varía ligeramente.
En Linux y macOS
Abre la terminal y escribe:
ssh usuario@ip-del-servidor
Si el puerto es diferente al 22:
ssh -p 22000 usuario@ip-del-servidor
Te pedirá la contraseña. Si configuraste claves SSH, solo se conectará directamente.
En Windows
Puedes usar PowerShell o CMD si tienes OpenSSH instalado, o descargar PuTTY. Con PuTTY:
- Introduce la IP del servidor.
- Especifica el puerto (22 por defecto).
- Haz clic en "Open".
- Introduce el usuario y la contraseña cuando los pida.
[TIP] Si es la primera vez que te conectas, el servidor te preguntará si confías en la clave de host. Responde "yes" para continuar.
¿Dónde están los archivos de DirectAdmin en SSH?
Una vez dentro, es fundamental saber qué rutas son importantes. DirectAdmin organiza sus archivos en ubicaciones concretas:
- Directorio principal de DirectAdmin:
/usr/local/directadmin - Configuración principal:
/usr/local/directadmin/conf/directadmin.conf - Logs del panel:
/usr/local/directadmin/logs/ - Backups: normalmente en
/home/admin/admin_backupso la ruta que hayas configurado. - Usuarios del sistema: cada cuenta de hosting tiene su carpeta en
/home/
Conocer estas rutas te permitirá inspeccionar configuraciones, revisar errores o hacer copias de seguridad manuales.
Comandos SSH esenciales para gestionar DirectAdmin
Aquí tienes una lista de comandos que usarás casi a diario. Todos se ejecutan desde la terminal, una vez conectado al servidor.
1. Ver el estado del servicio DirectAdmin
Para comprobar si el panel está corriendo correctamente:
systemctl status directadmin
Si prefieres una salida más limpia y rápida:
service directadmin status
2. Reiniciar DirectAdmin
Cuando cambias configuraciones importantes o el panel se queda bloqueado, reinícialo:
systemctl restart directadmin
O también:
service directadmin restart
[WARNING] Reiniciar DirectAdmin no afecta a los sitios web de tus clientes, pero si tienes procesos críticos en marcha (como una actualización), espera a que terminen.
3. Ver los logs de DirectAdmin en tiempo real
Los logs son tu mejor herramienta de diagnóstico. Para ver los últimos errores:
tail -f /usr/local/directadmin/logs/error.log
Para salir de la vista en tiempo real, pulsa Ctrl + C.
4. Listar todas las cuentas de usuario
ls /usr/local/directadmin/data/users/
Cada carpeta corresponde a una cuenta de usuario de DirectAdmin. Dentro de cada una encontrarás archivos de configuración como user.conf, domains.list o ips.list.
5. Cambiar la contraseña de un usuario desde SSH
A veces un cliente olvida su contraseña y necesitas restablecerla sin entrar al panel:
cd /usr/local/directadmin/scripts
./set_user_password.sh usuario nueva_contraseña
[INFO] Este script también actualiza la contraseña del sistema y la de la base de datos MySQL asociada al usuario.
6. Crear una cuenta de usuario desde SSH
Si necesitas crear un cliente nuevo sin pasar por la interfaz web:
cd /usr/local/directadmin/scripts
./user_create.sh nombre_usuario contraseña [email] [plan] [ip]
Por ejemplo:
./user_create.sh juanperez ClaveSegura123 juan@example.com Bronze 192.168.1.10
7. Suspender o reactivar una cuenta
Para suspender temporalmente:
./user_suspend.sh nombre_usuario
Para reactivarla:
./user_unsuspend.sh nombre_usuario
8. Ver el uso de disco de todos los usuarios
du -sh /home/* | sort -hr
Esto te mostrará qué usuario consume más espacio. Muy útil para reclamar por sobreuso de recursos.
9. Ver los dominios configurados en el servidor
ls /usr/local/directadmin/data/users/*/domains.list
O si quieres verlos todos juntos:
cat /usr/local/directadmin/data/users/*/domains.list
10. Acceder a la base de datos de DirectAdmin
Aunque no es habitual, a veces necesitas consultar la base de datos interna. DirectAdmin usa MySQL/MariaDB. Para entrar:
mysql -uadmin -p`cat /usr/local/directadmin/conf/mysql.conf | grep passwd | cut -d= -f2`
[WARNING] Este comando expone la contraseña en la línea de comandos. Úsalo solo en entornos seguros o cuando no haya otra alternativa.
Trucos avanzados para sacar más partido a SSH y DirectAdmin
Además de los comandos básicos, existen trucos que te harán la vida mucho más fácil.
Truco 1: Crear alias de comandos
Si usas ciertos comandos muy a menudo, crea alias en tu archivo ~/.bashrc:
alias da-status='systemctl status directadmin'
alias da-restart='systemctl restart directadmin'
alias da-logs='tail -f /usr/local/directadmin/logs/error.log'
Después de guardar, ejecuta source ~/.bashrc para aplicarlos.
Truco 2: Conectarte por SSH sin contraseña (claves SSH)
Configurar claves SSH te permite conectarte sin escribir contraseña cada vez. En tu equipo local:
ssh-keygen -t rsa -b 4096
ssh-copy-id usuario@ip-del-servidor
A partir de ahí, la conexión será automática.
Truco 3: Hacer un backup completo desde SSH
DirectAdmin tiene su propio sistema de backups, pero desde SSH puedes forzar uno manual:
/usr/local/directadmin/scripts/backup.sh
Este script generará un backup en la ruta configurada. Para ver dónde se guarda:
grep backup /usr/local/directadmin/conf/directadmin.conf
Truco 4: Ejecutar comandos DirectAdmin sin estar en el directorio
Puedes llamar a los scripts desde cualquier ruta si usas la ruta absoluta:
/usr/local/directadmin/scripts/user_create.sh cliente Clave123 cliente@mail.com Plan1
Truco 5: Ver todos los servicios que dependen de DirectAdmin
systemctl list-units | grep directadmin
Y para ver los servicios relacionados con el hosting (Apache, MySQL, Exim, Dovecot):
systemctl list-units | grep -E 'httpd|mysqld|exim|dovecot'
Truco 6: Cambiar el puerto del panel DirectAdmin
A veces quieres cambiar el puerto de acceso (por defecto 2222). Edita el archivo de configuración:
nano /usr/local/directadmin/conf/directadmin.conf
Busca la línea port= y cámbiala. Luego reinicia DirectAdmin.
[WARNING] Si cambias el puerto del panel, recuerda actualizar las reglas del firewall para permitir el nuevo puerto.
Solución de problemas comunes al acceder por SSH
No me deja conectar por SSH
- Verifica que el servicio SSH está activo:
systemctl status sshd - Comprueba el firewall:
iptables -L -n | grep 22 - Confirma que el usuario tiene permisos de shell. Algunos paneles crean usuarios con shell restringido.
El comando no se encuentra
Si ejecutas un script y te dice "command not found", asegúrate de estar en el directorio correcto o usa la ruta absoluta.
Permiso denegado
Muchos comandos de gestión requieren ser root. Si tu usuario no tiene permisos, usa sudo antes del comando o conéctate directamente como root (si tu proveedor lo permite).
DirectAdmin no arranca después de un cambio
Revisa el log de errores:
tail -50 /usr/local/directadmin/logs/error.log
Y valida la configuración:
/usr/local/directadmin/directadmin check
Preguntas frecuentes (FAQ)
¿Es necesario saber programación para usar SSH con DirectAdmin?
No, con saber comandos básicos de Linux y navegación por carpetas es suficiente. Todo lo demás se aprende sobre la marcha.
¿Puedo dañar mi servidor usando comandos SSH?
Sí, si no sabes lo que haces. Por eso es recomendable probar en un entorno de desarrollo o tener una copia de seguridad reciente antes de ejecutar comandos desconocidos.
¿Qué diferencia hay entre acceder a DirectAdmin por web y por SSH?
Por web gestionas usuarios, dominios, correos y archivos de forma visual. Por SSH accedes al sistema operativo subyacente, pudiendo tocar configuraciones más profundas, automatizar tareas y diagnosticar problemas a nivel de servidor.
¿Puedo usar SSH para migrar sitios web entre servidores?
Sí, de hecho es la forma más eficiente. Puedes comprimir la carpeta del usuario, transferirla con scp o rsync y luego importarla en el nuevo servidor.
¿Qué hago si olvidé la contraseña de root del servidor?
Si no tienes acceso físico o por consola (como VNC o KVM), necesitarás contactar con tu proveedor de hosting para restablecerla. Algunos ofrecen recuperación automática desde el panel de control del servidor.
¿Es seguro dejar el puerto SSH abierto?
No del todo. Es recomendable cambiar el puerto por defecto (22) a uno alto (ej. 22000) y usar autenticación por claves en lugar de contraseñas. También puedes restringir el acceso por IP con fail2ban.
Conclusión y recomendaciones finales
Acceder a DirectAdmin desde SSH te abre un mundo de posibilidades para administrar tu servidor con precisión milimétrica. Aunque al principio pueda parecer abrumador, con la práctica diaria se convierte en una herramienta imprescindible.
Empieza con los comandos básicos, familiarízate con las rutas principales y ve añadiendo trucos a tu repertorio poco a poco. No tengas miedo de experimentar en un servidor de pruebas antes de tocar el de producción.
[TIP] Guarda los comandos que más uses en un archivo de notas o en un script personal. Te ahorrarás horas de búsqueda cada semana.
Y recuerda: si tu panel de control es Syspanel (antes conocido como HestiaCP), el acceso por SSH es muy similar, pero ten en cuenta que el puerto de acceso a su interfaz web es el 2106, y los comandos para gestionar usuarios y dominios cambian ligeramente en cuanto a nombres de scripts.
La terminal no muerde. Anímate a explorarla y verás cómo tu eficiencia como administrador se multiplica.
