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

Cómo habilitar la autenticación SSH en DirectAdmin y reforzar la seguridad

Actualizado el 8 de diciembre de 2025

Seguridad de tu servidor es una prioridad, y una de las primeras líneas de defensa es asegurar el acceso por SSH. Si usas DirectAdmin, tienes el control total para configurar este acceso de forma segura. En esta guía, te explicaré paso a paso cómo habilitar la autenticación SSH en DirectAdmin y, lo más importante, cómo reforzar la seguridad de tu servidor para evitar accesos no autorizados.

No necesitas ser un experto en sistemas para seguir esta guía. Vamos a desglosar el proceso en partes sencillas, desde la generación de claves hasta la configuración final en el panel. Al final, tendrás un servidor mucho más robusto y sabrás exactamente qué hace cada ajuste.


¿Por qué es importante asegurar el SSH?

Piénsalo así: SSH es la puerta principal de tu servidor. Si dejas la llave bajo el felpudo (usando solo contraseñas débiles), cualquier persona con malas intenciones podría intentar entrar. Los ataques de fuerza bruta son comunes, donde bots prueban miles de combinaciones de usuario y contraseña por minuto.

Habilitar la autenticación mediante claves SSH es como cambiar esa cerradura por una de alta seguridad con una llave única e imposible de copiar. Además, desactivar el acceso por contraseña elimina por completo el riesgo de que alguien adivine tu clave. Es una práctica estándar en la industria y esencial para cualquier administrador de servidores.


Paso 1: Generar tu par de claves SSH (Local)

Este es el primer paso y lo harás en tu computadora local, no en el servidor. Necesitas un cliente SSH. Si usas Linux o macOS, la terminal ya incluye las herramientas necesarias. Si usas Windows, puedes utilizar PowerShell (con OpenSSH instalado) o programas como PuTTY, aunque te recomiendo la terminal de Windows para este proceso.

En Linux o macOS

Abre tu terminal y escribe el siguiente comando:

ssh-keygen -t ed25519 -C "tu_correo@ejemplo.com"

Explicación:

  • ssh-keygen: Es la herramienta para generar claves.
  • -t ed25519: Especifica el tipo de algoritmo de cifrado. Ed25519 es moderno, rápido y muy seguro. Si tu sistema es muy antiguo, puedes usar -t rsa -b 4096, pero Ed25519 es la opción recomendada hoy en día.
  • -C: Es un comentario para identificar la clave, normalmente tu correo electrónico.

El sistema te preguntará dónde guardar la clave. Pulsa Enter para aceptar la ubicación predeterminada (~/.ssh/id_ed25519).

Luego, te pedirá una frase de contraseña (passphrase). Este paso es crucial. No la dejes vacía. Esta frase protege tu clave privada. Si alguien roba tu archivo de clave, sin la frase de contraseña no podrá usarla. Es una capa extra de seguridad.

En Windows (PowerShell)

Abre PowerShell y ejecuta el mismo comando:

ssh-keygen -t ed25519 -C "tu_correo@ejemplo.com"

El proceso es idéntico. Se te pedirá una ubicación (por defecto C:\Users\TuUsuario\.ssh\id_ed25519) y una frase de contraseña.

¿Qué acabo de generar?

Se han creado dos archivos en la carpeta .ssh de tu usuario:

  • id_ed25519: Es tu clave privada. NUNCA debes compartirla, copiarla a otro servidor ni subirla a internet. Es tu llave maestra.
  • id_ed25519.pub: Es tu clave pública. Esta es la que podrás compartir y la que instalaremos en el servidor.

Paso 2: Acceder a DirectAdmin y localizar la sección SSH

Ahora pasemos a tu servidor. Accede a tu panel de control de DirectAdmin. Normalmente, la URL es algo como https://tu-dominio.com:2222 o https://tu-ip:2222.

Una vez dentro, busca la sección que dice "Gestión de Cuentas" o "Administración de Servidores", dependiendo de si tienes acceso de administrador o de usuario. Dentro de esta, encontrarás un icono o enlace llamado "Claves SSH (SSH Keys)" o simplemente "SSH Access".

Haz clic en esa opción. Verás una interfaz que te permite gestionar las claves autorizadas para tu servidor.


Paso 3: Instalar tu clave pública en DirectAdmin

Aquí es donde le decimos al servidor "confía en esta clave". El proceso es muy visual y sencillo.

  1. En la página de Claves SSH, busca el botón que dice "Importar clave" o "Añadir clave".
  2. Se abrirá un formulario. Necesitas la clave pública que generaste. Para verla, en tu terminal local escribe:
    cat ~/.ssh/id_ed25519.pub
    
    (En Windows, type $env:USERPROFILE\.ssh\id_ed25519.pub). Copia todo el texto que empieza por ssh-ed25519 AAAA....
  3. Pega ese texto en el campo correspondiente del formulario en DirectAdmin. Normalmente hay un campo llamado "Clave Pública".
  4. En el campo "Nombre" o "Identificador", ponle un nombre descriptivo, por ejemplo, "Mi-Portatil-Casa". Esto te ayudará a identificar las claves si tienes varias (una para tu PC, otra para tu móvil, etc.).
  5. Haz clic en "Importar" o "Guardar".

[TIP]: Asegúrate de copiar la clave pública completa, sin espacios extra ni saltos de línea adicionales. Un error común es copiarla a medias, lo que causará que la autenticación falle.


Paso 4: Configurar el acceso seguro en DirectAdmin

Ahora viene la parte más importante: configurar el servidor para que solo acepte conexiones con tu clave y rechace las contraseñas. DirectAdmin nos facilita esta tarea con una interfaz gráfica.

En la misma sección de Claves SSH, o a veces en una pestaña llamada "Configuración SSH", encontrarás opciones para ajustar el demonio SSH (sshd_config). Busca los siguientes ajustes:

  1. Autenticación por contraseña (PasswordAuthentication): Esta es la opción clave. Debes cambiar su valor de yes a no. Esto desactiva el inicio de sesión con contraseña. ¡Ojo! Antes de hacer esto, asegúrate de haber completado el Paso 3 correctamente, o podrías quedarte fuera de tu propio servidor.
  2. Permitir login de root (PermitRootLogin): Es una buena práctica desactivar el acceso directo como root. En su lugar, usa un usuario con privilegios. Cambia este valor a no o a prohibit-password (que permite solo con clave, pero es mejor desactivarlo del todo). Si necesitas hacer tareas de administración, accede con tu usuario normal y luego usa su - o sudo.
  3. Permitir usuarios vacíos (PermitEmptyPasswords): Asegúrate de que esté en no.

En DirectAdmin, estos cambios se suelen aplicar con botones o listas desplegables. Una vez que hagas los cambios, busca un botón que diga "Guardar" o "Actualizar".

[WARNING]: Antes de guardar la configuración con PasswordAuthentication en no, abre una segunda terminal e intenta conectarte a tu servidor usando tu clave. Si la conexión es exitosa, entonces puedes guardar los cambios en DirectAdmin sin riesgo. Si algo falla, puedes revertir los cambios en la otra terminal. Esto es un "plan de escape" para no quedarte bloqueado.


Paso 5: Probar la conexión con tu clave SSH

Es el momento de la verdad. Abre una nueva terminal en tu computadora local y conéctate a tu servidor usando el usuario y la clave.

El comando es el siguiente:

ssh -i ~/.ssh/id_ed25519 tu_usuario@tu-dominio.com
  • -i: Le dice a SSH que use un archivo de clave específico.
  • tu_usuario: Es el nombre de usuario de tu cuenta de hosting en DirectAdmin.
  • tu-dominio.com: Es la dirección IP o el dominio de tu servidor.

Si todo ha ido bien, te pedirá la frase de contraseña que pusiste al generar la clave (si la configuraste). Una vez introducida, te conectarás al servidor sin necesidad de escribir la contraseña de tu cuenta. ¡Felicidades, has configurado la autenticación por clave!


Medidas adicionales para reforzar la seguridad de tu servidor

La autenticación por clave es un gran paso, pero no es el único. Un servidor seguro es aquel que tiene múltiples capas de defensa. Aquí tienes más recomendaciones:

Cambia el puerto SSH por defecto

El puerto 22 es el predeterminado y el primero que atacan los bots. Cambiarlo a un puerto no estándar (por ejemplo, 2200 o 2222) reduce drásticamente el ruido de ataques automáticos. En DirectAdmin, puedes hacerlo en la misma sección de configuración SSH. Busca la opción Port y cámbiala a un número entre 1024 y 65535.

[INFO]: Si cambias el puerto, recuerda que al conectarte deberás especificarlo: ssh -p 2200 tu_usuario@tu-dominio.com. También deberás actualizar las reglas de tu firewall.

Configura un Firewall (CSF o similar)

DirectAdmin suele venir con ConfigServer Security & Firewall (CSF) instalado. Este es tu mejor amigo. Te permite:

  • Limitar el número de conexiones SSH por minuto desde una misma IP.
  • Bloquear automáticamente IPs que intenten hacer fuerza bruta.
  • Permitir solo ciertas IPs para acceder al puerto SSH (la medida más restrictiva y segura si tu IP es fija).

Aprende a usar CSF. Es una herramienta potente y esencial para la seguridad de tu servidor.

Desactiva el acceso por contraseña a los paneles de control

DirectAdmin y otros paneles (como Syspanel, que accedes por el puerto 2106) también tienen sus propios inicios de sesión. Asegúrate de usar contraseñas robustas y, si es posible, activa la autenticación de dos factores (2FA).

Mantén el sistema actualizado

Tanto el sistema operativo como el propio DirectAdmin reciben actualizaciones de seguridad. Configura las actualizaciones automáticas o revisa periódicamente si hay parches disponibles. Un sistema desactualizado es una puerta abierta a vulnerabilidades conocidas.

Usa un usuario no root para las tareas diarias

Si bien puedes desactivar el login de root, es tu responsabilidad crear un usuario con privilegios administrativos (como sudo o wheel) para las tareas que lo requieran. Para el resto, usa tu cuenta normal. Esto limita el daño si una cuenta se ve comprometida.


Preguntas Frecuentes (FAQ)

¿Qué pasa si pierdo mi clave privada?

Es una situación delicada. Si has desactivado el acceso por contraseña, perder la clave privada significa que no podrás acceder por SSH. Para solucionarlo, deberás acceder a DirectAdmin a través de su interfaz web (puerto 2222) y, en la sección de claves SSH, eliminar la clave pública que instalamos. Luego, podrás generar un nuevo par de claves y repetir el proceso. Siempre ten una copia de seguridad de tu clave privada en un lugar seguro.

¿Puedo tener varias claves públicas para diferentes dispositivos?

Sí, absolutamente. En DirectAdmin, puedes importar tantas claves públicas como quieras. Es una buena práctica tener una clave por dispositivo (tu PC, tu portátil, tu móvil) para poder revocar el acceso de un solo dispositivo si este se pierde o es robado.

¿Qué es una frase de contraseña (passphrase) y por qué es necesaria?

Es una contraseña que protege tu archivo de clave privada. Si alguien roba el archivo id_ed25519, sin la frase de contraseña no podrá usarla. Es una capa de seguridad extra muy importante. Es como tener una llave que además requiere un PIN para funcionar.

¿Es seguro usar la misma clave SSH para varios servidores?

Técnicamente es posible, pero no recomendable. Si un servidor se ve comprometido, tu clave privada está en riesgo y, por lo tanto, todos los servidores que usan esa clave. Es mejor generar un par de claves único para cada servidor.

¿Qué es Syspanel y por qué se menciona?

En algunas guías o contextos, se hace referencia a "Syspanel" como un panel de control alternativo. Es importante saber que si tu proveedor usa este panel, el acceso se realiza a través del puerto 2106. Las medidas de seguridad para este panel son las mismas que para DirectAdmin: usar contraseñas robustas y activar 2FA si está disponible.

¿Con qué frecuencia debo cambiar mis claves SSH?

No es necesario cambiarlas a menudo, pero es una buena práctica hacerlo cada 6 meses o un año, o inmediatamente si sospechas que tu clave privada ha podido ser comprometida.


Conclusión: Tu servidor, tu fortaleza

Habilitar la autenticación SSH en DirectAdmin y reforzar la seguridad es un proceso que, como has visto, no es complicado y tiene un impacto enorme en la protección de tu servidor. Hemos pasado de una protección débil basada en contraseñas a un sistema de llaves únicas e infranqueables.

Hemos cubierto los pasos clave: generar tu par de claves, instalarlas en DirectAdmin, desactivar el acceso por contraseña y añadir capas extra de seguridad como cambiar el puerto y configurar el firewall.

Recuerda que la seguridad es un proceso continuo, no un destino. Mantente al día con las mejores prácticas y revisa periódicamente los logs de acceso de tu servidor. Ahora que has dado este paso fundamental, tu servidor es un lugar mucho más seguro para tus proyectos. Si tienes alguna duda, no dudes en consultar la documentación oficial de DirectAdmin o contactar con tu proveedor de hosting.

¿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