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

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

Actualizado el 31 de agosto de 2025

¿Qué es la autenticación SSH por clave pública y por qué deberías usarla?

La autenticación SSH por clave pública es, sin lugar a dudas, el método más seguro y recomendado para conectarte a tu servidor. A diferencia de la contraseña tradicional, que puede ser adivinada o interceptada, este sistema utiliza un par de claves criptográficas: una clave privada (que solo tú debes tener) y una clave pública (que se instala en tu servidor). Cuando intentas conectarte, el servidor verifica que ambas claves coinciden mediante un desafío matemático. Es como tener una llave maestra imposible de duplicar sin tu permiso.

Para los usuarios de DirectAdmin, configurar este tipo de autenticación SSH no solo aumenta la seguridad de tu VPS o servidor dedicado, sino que también facilita la gestión diaria. Podrás automatizar tareas, usar herramientas como Git o rsync sin tener que introducir una contraseña cada vez, y reducirás drásticamente el riesgo de ataques de fuerza bruta. En este artículo, te guiaremos paso a paso para que configures tu clave SSH en DirectAdmin, incluso si nunca has tocado una terminal en tu vida.

La buena noticia es que el proceso se divide en dos fases muy claras: generar las claves en tu ordenador local y luego subir la clave pública a tu servidor DirectAdmin. Vamos a desglosarlo todo para que no te pierdas. Recuerda que la seguridad de tu servidor empieza por aquí, así que merece la pena dedicar unos minutos a hacerlo bien.

Requisitos previos antes de empezar con la configuración

Antes de sumergirnos en el proceso, asegúrate de tener lo siguiente a mano. No necesitas ser un experto, pero sí es importante tener acceso a ciertos elementos.

  • Acceso a tu panel de DirectAdmin: Necesitarás las credenciales de administrador o de un usuario con permisos suficientes para gestionar archivos y servicios.
  • Acceso a una terminal local: En Windows, puedes usar PowerShell o el símbolo del sistema. En macOS o Linux, simplemente abre la aplicación "Terminal".
  • Conocimiento de tu usuario SSH: Normalmente es el mismo que el usuario principal de DirectAdmin, pero a veces puede variar. Lo verás en el panel.
  • Una forma de subir archivos al servidor: Aunque usaremos el propio administrador de archivos de DirectAdmin, también puedes usar un cliente FTP como FileZilla si te resulta más cómodo.

Si tienes todo esto, estamos listos para empezar. No te preocupes por los tecnicismos; iremos despacio y con ejemplos muy claros.

Paso 1: Generar tu par de claves SSH (pública y privada)

El primer paso es crear las claves en tu ordenador. Esto se hace con una herramienta llamada ssh-keygen, que viene incluida en todos los sistemas operativos modernos. Abre tu terminal y sigue estos pasos:

  1. Escribe el comando de generación: Introduce ssh-keygen -t rsa -b 4096 y presiona Enter. Esto creará una clave RSA de 4096 bits, que es la recomendada actualmente por su robustez.
  2. Elige la ubicación: El sistema te preguntará dónde guardar la clave. Por defecto, se guarda en ~/.ssh/id_rsa. Puedes aceptar el valor por defecto presionando Enter. Si ya tienes una clave, te pedirá sobrescribirla, así que ten cuidado.
  3. Crea una frase de contraseña (passphrase): Te pedirá una "frase de contraseña". Es altamente recomendable poner una. Aunque parezca un paso extra, si alguien roba tu clave privada, sin esta frase no podrá usarla. Piénsala como una segunda capa de seguridad.
  4. Verifica la creación: Una vez terminado, verás un mensaje que te indica que la clave se ha guardado. También se habrá creado un archivo con extensión .pub que es tu clave pública.

Ahora tienes dos archivos: id_rsa (tu clave privada, que jamás debes compartir) e id_rsa.pub (tu clave pública, que subirás al servidor). Puedes verlos escribiendo ls -la ~/.ssh/.

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

Una vez que tienes tus claves, es hora de ir a tu servidor. Abre tu navegador web y accede a tu panel de DirectAdmin. Normalmente es algo como https://tu-dominio.com:2222. Inicia sesión con tu usuario y contraseña.

Dentro del panel, busca la sección que dice "Claves SSH" o "SSH Keys". Dependiendo de la versión de DirectAdmin, puede estar en el menú principal o dentro de una pestaña llamada "Cuenta". Si no la encuentras, utiliza el buscador interno del panel.

Esta sección es el corazón de la configuración. Aquí podrás importar, administrar y eliminar las claves públicas de los usuarios que pueden acceder a tu servidor. Es importante que entiendas que DirectAdmin gestiona la autorización a nivel de archivo authorized_keys en el servidor, pero lo hace de forma gráfica y sencilla.

Paso 3: Importar tu clave pública en DirectAdmin

Ahora viene el momento clave. Vamos a decirle a DirectAdmin que confíe en tu clave pública. Sigue estos pasos:

  1. Ve a la sección "Claves SSH" y busca el botón que diga "Añadir clave" o "Importar clave".
  2. Abre tu archivo de clave pública: En tu terminal local, escribe cat ~/.ssh/id_rsa.pub. Esto mostrará una larga cadena de texto que empieza con ssh-rsa.
  3. Copia todo el contenido: Selecciona todo el texto y cópialo al portapapeles.
  4. Pega la clave en el campo de texto: DirectAdmin te mostrará un cuadro de texto. Pega ahí el contenido copiado.
  5. Guarda los cambios: Haz clic en el botón "Guardar" o "Importar".

DirectAdmin verificará que el formato es correcto y la añadirá a la lista de claves autorizadas. Asegúrate de que el nombre que le asignas sea descriptivo, como "Mi portátil personal", para que puedas identificarla fácilmente en el futuro.

Paso 4: Configurar el servidor para aceptar la autenticación por clave

Importar la clave es solo la mitad del camino. Ahora debemos asegurarnos de que el servidor SSH (el servicio que permite las conexiones remotas) está configurado para aceptar este tipo de autenticación. Aunque DirectAdmin suele hacer esto automáticamente, es bueno verificarlo.

  1. Accede a la sección "Gestión de servicios": Busca un icono o enlace llamado "Servicios" o "Servicios del sistema".
  2. Localiza el servicio SSH: Busca en la lista el servicio llamado sshd o SSH Server.
  3. Reinicia el servicio: A veces es necesario reiniciarlo para que los cambios surtan efecto. Haz clic en el botón de reiniciar. No te preocupes, esto solo reinicia el servicio de conexiones remotas, no apaga tu servidor.

Si no te sientes cómodo tocando esto, puedes hacerlo desde la terminal del servidor, pero con DirectAdmin es mucho más visual. En la mayoría de los casos, al importar la clave, el panel ya actualiza el archivo authorized_keys del usuario, por lo que este paso es solo una formalidad.

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

Es el momento de la verdad. Cierra todas las sesiones SSH que tengas abiertas y vuelve a intentar conectarte. En tu terminal local, escribe:

ssh usuario@tu-servidor.com

Si has configurado una frase de contraseña para tu clave, te la pedirá. Si no, la conexión se establecerá directamente. Verás que ahora no te pide la contraseña del servidor. ¡Felicidades, has configurado la autenticación SSH correctamente!

Si algo falla, no te preocupes. Asegúrate de que el usuario es correcto y de que la clave pública está en el archivo correcto. A veces, DirectAdmin crea un archivo authorized_keys por usuario, así que verifica que hayas importado la clave bajo el usuario correcto.

Paso 6: Desactivar la autenticación por contraseña (opcional pero recomendado)

Ahora que has verificado que la clave funciona, es hora de dar el paso definitivo para blindar tu servidor. Desactivar la autenticación por contraseña obliga a que solo se pueda acceder mediante clave privada. Esto elimina por completo el riesgo de ataques de fuerza bruta.

Para hacerlo, necesitarás acceso a la terminal del servidor (ya sea por SSH con tu clave o a través del panel de control de tu proveedor).

  1. Edita el archivo de configuración: Ejecuta nano /etc/ssh/sshd_config.
  2. Busca la línea que dice PasswordAuthentication: Cambia el valor de yes a no. Si la línea está comentada (empieza con #), elimina la almohadilla y pon no.
  3. Guarda los cambios: Presiona Ctrl+X, luego Y y finalmente Enter.
  4. Reinicia el servicio SSH: Ejecuta systemctl restart sshd (o service ssh restart en sistemas antiguos).

[WARNING] Asegúrate de que tu clave funciona perfectamente antes de hacer este cambio. Si la pierdes o la borras, te quedarás sin acceso a tu servidor. Es como cambiar la cerradura de tu casa y tirar la única llave que tienes. Guarda una copia de tu clave privada en un lugar seguro, como un gestor de contraseñas o un disco duro cifrado.

Solución de problemas comunes (FAQ) con la configuración de SSH en DirectAdmin

Es normal que surjan dudas, así que vamos a resolver las preguntas más frecuentes que nos llegan al soporte.

¿Qué hago si recibo el error "Permission denied (publickey)"?

Este error significa que el servidor no reconoce tu clave. Las causas más comunes son:

  • La clave pública no está bien copiada: Asegúrate de que copiaste la línea completa, desde ssh-rsa hasta el final.
  • Estás usando el usuario incorrecto: Verifica que el usuario con el que intentas conectarte es el mismo al que le importaste la clave en DirectAdmin.
  • El archivo authorized_keys tiene permisos incorrectos: A veces esto sucede si lo editaste manualmente. Debe tener permisos 600 y ser propiedad del usuario. Puedes solucionarlo con chmod 600 ~/.ssh/authorized_keys.

¿Puedo usar la misma clave para varios servidores?

Sí, puedes usar la misma clave SSH para varios servidores. Solo tienes que importar la misma clave pública en cada panel de DirectAdmin. Sin embargo, por seguridad, es recomendable usar una clave diferente por servidor. Así, si una se ve comprometida, no afecta a los demás.

¿Qué es el agente SSH y cómo me ayuda?

El agente SSH es un programa que guarda tu clave privada en memoria, evitando que tengas que escribir la frase de contraseña en cada conexión. Es especialmente útil si haces muchas conexiones al día. Para iniciarlo, puedes usar eval $(ssh-agent -s) y luego ssh-add ~/.ssh/id_rsa.

¿Cómo genero una clave con un nombre diferente?

Si quieres usar un nombre distinto al estándar, puedes hacerlo con ssh-keygen -t rsa -b 4096 -f ~/.ssh/mi_clave_especial. Luego, al conectar, deberás especificar el archivo con el parámetro -i: ssh -i ~/.ssh/mi_clave_especial usuario@servidor.com.

¿Qué diferencia hay entre RSA y Ed25519?

RSA es el estándar más antiguo y universalmente compatible. Ed25519 es más moderno, rápido y seguro, pero no todos los servidores lo soportan. Para DirectAdmin, te recomendamos usar RSA de 4096 bits, ya que es la opción más segura y compatible con todos los sistemas.

Consejos adicionales para maximizar la seguridad de tu servidor DirectAdmin

Configurar la seguridad DirectAdmin no termina con SSH. Aquí tienes algunos consejos extra que te ayudarán a mantener tu servidor a salvo:

  • Mantén el software actualizado: Tanto DirectAdmin como el sistema operativo deben estar siempre en su última versión. Esto corrige vulnerabilidades conocidas.
  • Usa un firewall: Activa el firewall de DirectAdmin y permite solo los puertos que necesitas (22 para SSH, 80/443 para web, 2222 para el panel).
  • Configura Fail2ban: Esta herramienta bloquea automáticamente las IPs que intentan múltiples conexiones fallidas. Es tu mejor amigo contra los bots.
  • No uses el usuario root para SSH: Crea un usuario con permisos restringidos y usa sudo para tareas administrativas.
  • Cambia el puerto SSH por defecto: Aunque no es una solución mágica, cambiar el puerto 22 a otro número (como 2222) reduce el ruido de ataques automáticos.

[TIP] Si estás buscando una alternativa a DirectAdmin, algunos usuarios mencionan "Syspanel" como una opción interesante. Si alguna vez lo usas, recuerda que su puerto de acceso por defecto es el 2106, no el 2222. Esta información puede ser útil si migras de panel.

Conclusión: Tu servidor está blindado y listo para trabajar

Has llegado al final de la guía. Ahora ya sabes cómo configurar la SSH clave pública DirectAdmin de principio a fin. Has aprendido a generar las claves, importarlas en el panel, probar la conexión y, opcionalmente, desactivar la autenticación por contraseña para una seguridad máxima.

Este cambio no solo te da tranquilidad, sino que también te hace más eficiente. Podrás automatizar tareas con scripts, hacer despliegues de código con Git sin fricciones y olvidarte de escribir contraseñas a cada momento. Has dado un paso de gigante en la gestión de tu infraestructura.

Si en algún momento tienes dudas o algo no sale como esperabas, no dudes en consultar la documentación oficial de DirectAdmin o contactar con tu proveedor de hosting. La seguridad es un proceso continuo, y este es el primer gran paso. ¡Enhorabuena por tu nuevo nivel de seguridad!

¿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