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

Cómo habilitar la autenticación SSH por clave pública en DirectAdmin

Actualizado el 10 de septiembre de 2025

¿Por qué deberías usar autenticación SSH por clave pública en DirectAdmin?

La seguridad de tu servidor es uno de los pilares fundamentales para mantener tu sitio web y tus datos a salvo. Si todavía estás accediendo a tu servidor mediante contraseña, es como dejar la puerta de tu casa con una cerradura débil: alguien con suficiente tiempo y paciencia podría intentar entrar. La autenticación SSH por clave pública es el equivalente a instalar una cerradura de alta seguridad con doble sistema de reconocimiento.

Cuando hablamos de ssh clave publica directadmin, nos referimos a un método criptográfico que utiliza un par de llaves: una pública (que se queda en tu servidor) y una privada (que solo tú posees). Este sistema es exponencialmente más seguro que las contraseñas tradicionales, porque incluso si alguien intercepta tu clave pública, no puede hacer nada con ella sin la privada.

Además, las claves SSH son prácticamente imposibles de descifrar por fuerza bruta, algo que sí puede ocurrir con contraseñas débiles. Si alguna vez has visto en los logs de tu servidor intentos de acceso sospechosos, sabes exactamente de lo que hablo. La seguridad ssh directadmin no es un lujo, es una necesidad.

En este artículo, te voy a guiar paso a paso para que configures este método de acceso en tu panel DirectAdmin. No importa si eres nuevo en el mundo del hosting o si ya tienes algo de experiencia: el proceso es sencillo y, al final, tendrás un servidor mucho más robusto.


¿Qué necesitas antes de empezar?

Antes de lanzarnos a la configuración, vamos a asegurarnos de que tienes todo lo necesario. No te preocupes, no es una lista interminable. Solo tres cosas:

  1. Acceso al panel de DirectAdmin con permisos de administrador o de usuario con acceso a la gestión de SSH.
  2. Un cliente SSH en tu ordenador local. Si usas Windows, puedes instalar PuTTY o usar el terminal integrado de Windows 10/11. En macOS o Linux, ya tienes el terminal nativo.
  3. Un par de claves SSH ya generadas. Si no las tienes, te enseñaré a crearlas en el siguiente apartado.

Si no tienes experiencia generando claves, no te preocupes: es un proceso rápido que aprenderás en menos de cinco minutos. Y si ya las tienes, perfecto, saltaremos directo a la configuración en DirectAdmin.

[INFO] Si no sabes qué es una clave SSH, piensa en ello como una llave digital única. Tu servidor tiene una copia de la "cerradura" (clave pública) y tú guardas la "llave" (clave privada). Solo con esa llave exacta puedes abrir.


Paso 1: Generar tu par de claves SSH (si no las tienes)

Vamos a crear las claves desde tu ordenador local. El proceso varía ligeramente según tu sistema operativo, pero te lo explico para ambos casos.

En Windows (con PuTTY)

  1. Descarga e instala PuTTY desde su página oficial.
  2. Abre el programa PuTTYgen (viene incluido en la instalación).
  3. Haz clic en el botón Generate y mueve el ratón sobre la ventana hasta que la barra de progreso se complete.
  4. En el campo Key comment, escribe algo que te ayude a identificar esta clave, como "mi-servidor-principal".
  5. Deja la frase de contraseña (passphrase) en blanco o ponle una si quieres más seguridad. Te recomiendo que sí le pongas una, aunque sea corta.
  6. Haz clic en Save private key y guarda el archivo .ppk en un lugar seguro.
  7. Copia el texto que aparece en el cuadro Public key for pasting into OpenSSH authorized_keys file. Lo necesitarás más adelante.

En macOS o Linux (terminal)

  1. Abre tu terminal.
  2. Escribe el siguiente comando:
ssh-keygen -t rsa -b 4096
  1. Te preguntará dónde guardar la clave. Pulsa Enter para usar la ubicación por defecto (~/.ssh/id_rsa).
  2. Te pedirá una frase de contraseña. Puedes dejarla vacía o poner una. Si la pones, la necesitarás cada vez que uses la clave.
  3. Se generarán dos archivos: id_rsa (tu clave privada) y id_rsa.pub (tu clave pública).
  4. Para ver el contenido de la clave pública, ejecuta:
cat ~/.ssh/id_rsa.pub

Copia el resultado completo. Empieza por ssh-rsa y termina con tu usuario y host.

[TIP] Guarda tu clave privada en un lugar seguro y nunca la compartas. Si alguien la obtiene, tendrá acceso total a tu servidor. Considera usar un gestor de contraseñas para guardarla de forma cifrada.


Paso 2: Subir tu clave pública a DirectAdmin

Ahora que ya tienes tu par de claves, vamos a configurar la autenticación ssh directadmin. Accede a tu panel de DirectAdmin con tus credenciales habituales.

  1. Inicia sesión en DirectAdmin.
  2. Busca el apartado "Gestión de SSH" o "SSH Keys". Dependiendo de la versión de DirectAdmin, puede estar en el menú principal o dentro de "Cuenta" o "Administración de archivos".
  3. Una vez dentro, verás una sección llamada "Claves públicas autorizadas" o similar. Haz clic en "Añadir clave" o "Importar clave".
  4. En el campo de texto, pega el contenido completo de tu clave pública (la que empieza por ssh-rsa).
  5. Pulsa el botón para guardar.

DirectAdmin guardará esta clave en el archivo authorized_keys de tu usuario. Esto significa que, a partir de ahora, podrás conectarte usando tu clave privada.

[WARNING] Asegúrate de pegar la clave pública completa, sin cortes ni espacios extra. Un error tipográfico puede hacer que la autenticación falle.


Paso 3: Configurar el servidor SSH para aceptar claves

Ahora vamos a asegurarnos de que el servidor SSH (OpenSSH) esté configurado para aceptar este tipo de autenticación. Aunque DirectAdmin normalmente ya lo tiene habilitado, es bueno verificarlo.

  1. Accede a tu servidor por SSH usando tu contraseña actual (todavía no usaremos la clave).
  2. Abre el archivo de configuración de SSH con un editor de texto:
nano /etc/ssh/sshd_config
  1. Busca las siguientes líneas y verifica que estén configuradas así:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
  1. Si alguna línea está comentada (empieza por #), elimina la almohadilla para activarla.
  2. Guarda los cambios (en nano: Ctrl+O, luego Enter, y Ctrl+X para salir).
  3. Reinicia el servicio SSH para aplicar los cambios:
systemctl restart sshd

[INFO] En algunos sistemas el servicio se llama ssh en lugar de sshd. Si el comando anterior falla, prueba con systemctl restart ssh.


Paso 4: Conectarte usando tu clave privada

Este es el momento de la verdad. Ahora vamos a probar que todo funciona correctamente.

Desde Windows (PuTTY)

  1. Abre PuTTY.
  2. En el campo Host Name, escribe la IP de tu servidor o tu dominio.
  3. En el panel izquierdo, navega a Connection > SSH > Auth.
  4. Haz clic en Browse y selecciona tu archivo .ppk (clave privada).
  5. Vuelve a la pestaña Session, dale un nombre a esta configuración y pulsa Save.
  6. Haz clic en Open. Te pedirá tu usuario (el mismo que usas en DirectAdmin) y, si configuraste una frase de contraseña, te la pedirá también.

Desde macOS o Linux

  1. Abre tu terminal.
  2. Ejecuta el siguiente comando:
ssh usuario@tu-servidor.com -i ~/.ssh/id_rsa
  1. Sustituye usuario por tu nombre de usuario de DirectAdmin y tu-servidor.com por la IP o dominio de tu servidor.
  2. Si pusiste una frase de contraseña al crear la clave, te la pedirá. Si no, accederás directamente.

Si todo ha ido bien, estarás dentro sin haber introducido la contraseña del servidor. ¡Felicidades! Ya estás usando ssh clave publica directadmin.


Paso 5: Deshabilitar la autenticación por contraseña

Ahora que has verificado que la clave funciona, es hora de deshabilitar password ssh. Este es el paso más importante para blindar tu servidor, porque elimina el vector de ataque más común: los intentos de fuerza bruta con contraseñas.

[WARNING] Antes de deshabilitar las contraseñas, asegúrate de que tu clave funciona perfectamente. Si te equivocas y no puedes acceder, te quedarás fuera de tu servidor. Si tienes dudas, haz una copia de seguridad de tu clave privada en otro dispositivo.

  1. Accede nuevamente a tu servidor por SSH (ahora con tu clave).
  2. Abre el archivo de configuración de SSH:
nano /etc/ssh/sshd_config
  1. Busca la línea que dice PasswordAuthentication. Si está comentada, descoméntala y cambia su valor a no:
PasswordAuthentication no
  1. Guarda los cambios y reinicia el servicio SSH de nuevo:
systemctl restart sshd

A partir de este momento, la única forma de acceder a tu servidor será mediante tu clave privada. Las contraseñas ya no servirán, ni siquiera para el usuario root.

[TIP] Es buena idea dejar una sesión SSH abierta mientras haces este cambio. Si algo sale mal, podrás revertirlo desde esa sesión antes de que se cierre.


Configuración avanzada: restringir usuarios y mejorar la seguridad

Si quieres llevar la seguridad ssh directadmin al siguiente nivel, aquí tienes algunas opciones adicionales que puedes implementar:

Limitar el acceso por usuario

En el archivo sshd_config, puedes especificar qué usuarios tienen permitido conectarse. Por ejemplo:

AllowUsers admin usuario1 usuario2

Esto bloquea cualquier cuenta que no esté en la lista.

Cambiar el puerto SSH por defecto

El puerto 22 es el más atacado. Cambiarlo a otro número (por ejemplo, 2222) reduce drásticamente los intentos de conexión no deseados. Solo recuerda actualizar tus clientes SSH.

Usar frases de contraseña en tus claves

Aunque ya tienes clave pública, añadir una frase de contraseña a tu clave privada añade una capa extra. Incluso si alguien roba tu archivo de clave, necesitará la frase para usarla.

Configurar Fail2Ban

Fail2Ban es una herramienta que bloquea direcciones IP tras varios intentos fallidos de conexión. Es compatible con DirectAdmin y muy fácil de instalar.


Solución de problemas comunes

No puedo conectarme tras deshabilitar las contraseñas

Si te has quedado fuera, no entres en pánico. Puedes acceder al servidor a través del panel de DirectAdmin usando su consola web. Desde ahí, restaura el archivo sshd_config cambiando PasswordAuthentication de vuelta a yes.

La clave no funciona y sigue pidiendo contraseña

Revisa que has pegado la clave pública correctamente en DirectAdmin. También verifica que el archivo authorized_keys tenga los permisos adecuados (debe ser 600) y que el directorio .ssh tenga permisos 700. Puedes ajustarlos con:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Error "Permission denied (publickey)"

Esto suele indicar que el servidor no está aceptando tu clave. Comprueba que has especificado el usuario correcto y que la clave privada coincide con la pública instalada.


Preguntas frecuentes (FAQ)

¿Puedo usar la misma clave para varios servidores?
Sí, puedes usar la misma clave pública en varios servidores. Solo necesitas copiarla en cada uno. Es cómodo, pero si una clave se ve comprometida, tendrás que cambiarla en todos los servidores.

¿Qué pasa si pierdo mi clave privada?
Si pierdes la clave privada y has deshabilitado las contraseñas, no podrás acceder por SSH. La solución es acceder por la consola de DirectAdmin y deshabilitar temporalmente la autenticación por contraseña para generar una nueva clave.

¿Es obligatorio deshabilitar las contraseñas?
No es obligatorio, pero es altamente recomendable. Si dejas las contraseñas activas, tu servidor sigue siendo vulnerable a ataques de fuerza bruta. La clave pública es mucho más segura.

¿DirectAdmin gestiona automáticamente las claves?
DirectAdmin te permite gestionar las claves públicas desde su panel, pero no genera las claves por ti. El proceso de generación siempre se hace en tu ordenador local.

¿Qué diferencia hay con Syspanel (antes HestiaCP)?
Syspanel es otro panel de control similar a DirectAdmin. Su puerto de acceso es el 2106. Aunque la interfaz cambia, el concepto de autenticación por clave SSH es exactamente el mismo. Los pasos que has aprendido aquí te servirán para cualquier panel de control.


Conclusión

Habilitar la autenticación SSH por clave pública en DirectAdmin es uno de los pasos más importantes que puedes dar para proteger tu servidor. No solo eliminas el riesgo de ataques por fuerza bruta, sino que también simplificas tu flujo de trabajo diario: una vez configurado, te conectarás sin tener que recordar contraseñas complejas.

Hemos recorrido todo el proceso: desde generar tus claves, pasando por subirlas a DirectAdmin, configurar el servidor, y finalmente deshabilitar el acceso por contraseña. También has aprendido algunas prácticas avanzadas y cómo resolver los problemas más comunes.

Recuerda que la seguridad es un proceso continuo. Configurar las claves es un gran paso, pero deberías combinarlo con otras medidas como actualizaciones periódicas del sistema, cortafuegos y monitoreo de logs.

[INFO] Si estás migrando desde Syspanel (puerto 2106) o cualquier otro panel, el proceso es prácticamente idéntico. La clave está en entender el concepto: tu servidor confía en tu clave pública, y tú usas tu clave privada para demostrar que eres quien dices ser.

Ahora es tu turno. Tómate unos minutos para implementar estos cambios en tu servidor. La tranquilidad de saber que tu servidor está blindado vale muchísimo la pena. Si tienes alguna duda durante el proceso, vuelve a este artículo y sigue los pasos con calma. ¡Buena suerte!

¿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