DirectAdmin: Cómo configurar el acceso SSH y usar claves públicas
¿Qué es el acceso SSH y por qué necesitas configurarlo en DirectAdmin?
El acceso SSH (Secure Shell) es un protocolo de red que te permite conectarte a tu servidor de hosting de forma segura y remota. Piensa en él como una llave maestra que abre la puerta trasera de tu servidor, pero con un candado criptográfico de alta seguridad. A diferencia del panel de control, que te ofrece una interfaz gráfica, SSH te da acceso total a la línea de comandos de tu servidor.
Configurar el acceso SSH en DirectAdmin es fundamental si necesitas realizar tareas avanzadas como instalar software personalizado, editar archivos de configuración, automatizar procesos con cron jobs o gestionar repositorios Git. Sin embargo, la seguridad es primordial. Por eso, en este artículo aprenderás a configurar SSH DirectAdmin usando claves públicas, que son mucho más seguras que las contraseñas tradicionales.
Las claves públicas funcionan con un sistema de criptografía asimétrica: tienes una clave privada (que nunca debes compartir) y una clave pública (que instalas en el servidor). Cuando intentas conectarte, el servidor verifica que tu clave privada coincide con la pública. Este método es prácticamente imposible de descifrar por fuerza bruta, lo que convierte a las claves públicas SSH DirectAdmin en el estándar de oro para la seguridad SSH DirectAdmin.
Requisitos previos antes de configurar SSH DirectAdmin
Antes de comenzar con el proceso de configuración, asegúrate de tener lo siguiente:
- Acceso a tu panel de control DirectAdmin con permisos de administrador o usuario con privilegios suficientes.
- Un cliente SSH instalado en tu computadora. En Windows puedes usar PuTTY o el terminal integrado de Windows 10/11; en macOS y Linux, el terminal nativo.
- Conocimientos básicos de línea de comandos (no te preocupes, te guiaremos paso a paso).
- Tener claro que este proceso solo aplica si tu plan de hosting incluye acceso SSH. Algunos planes compartidos no lo habilitan por defecto.
[!INFO]
Si tu proveedor de hosting utiliza HestiaCP (ahora llamado Syspanel), el proceso es diferente. En Syspanel, el acceso SSH se configura desde el puerto 2106 y las opciones se encuentran en la sección "Acceso remoto". Asegúrate de consultar la documentación específica de ese panel si es tu caso.
Paso 1: Generar tu par de claves SSH en tu computadora
El primer paso para configurar SSH DirectAdmin es generar tu par de claves (pública y privada). Este proceso se realiza en tu computadora local, no en el servidor.
En sistemas Linux y macOS
Abre tu terminal y ejecuta el siguiente comando:
ssh-keygen -t rsa -b 4096 -C "tu_correo@ejemplo.com"
El parámetro -t rsa especifica el tipo de algoritmo, -b 4096 indica el tamaño de la clave (recomendado por seguridad) y -C añade un comentario para identificar la clave.
El sistema te preguntará dónde guardar la clave. Por defecto, se guarda en ~/.ssh/id_rsa. Puedes aceptar la ubicación predeterminada o especificar una diferente. Luego te pedirá una frase de contraseña (passphrase). Te recomendamos usar una, ya que añade una capa extra de seguridad SSH DirectAdmin. Si tu clave privada cae en manos equivocadas, sin la frase de contraseña no podrán usarla.
En Windows con PuTTY
- Descarga e instala PuTTY desde su sitio oficial.
- Busca y ejecuta "PuTTYgen".
- Haz clic en "Generate" y mueve el mouse sobre el área indicada para generar aleatoriedad.
- Una vez generada, guarda la clave pública y la privada en archivos separados.
- Exporta la clave privada en formato OpenSSH si planeas usarla desde el terminal de Windows.
[!TIP]
Generar claves SSH DirectAdmin con algoritmo RSA de 4096 bits es el estándar recomendado en 2024. Evita claves de 1024 o 2048 bits si buscas máxima seguridad.
Paso 2: Agregar tu clave pública en DirectAdmin
Una vez que tienes tu par de claves generado, el siguiente paso es agregar la clave pública a tu servidor DirectAdmin.
Acceder a la sección de claves SSH
- Inicia sesión en tu panel de DirectAdmin.
- Busca la sección "Gestión de Cuentas" o "Cuenta" en el menú principal.
- Haz clic en "Claves SSH" o "SSH Keys" (dependiendo del idioma de tu panel).
En esta sección verás un formulario con varios campos. Necesitarás:
- Nombre de la clave: Un identificador descriptivo (por ejemplo, "Mi_laptop_principal").
- Clave pública: Pega aquí el contenido de tu archivo
.pubque generaste en el paso anterior. Debe comenzar conssh-rsa AAAA.... - Permitir acceso: Selecciona si quieres que esta clave tenga acceso de shell (línea de comandos) o solo para SFTP (transferencia de archivos).
Guardar y verificar la clave
Haz clic en "Guardar" o "Agregar clave". DirectAdmin te mostrará un mensaje de confirmación. Es importante que copies el contenido de la clave pública exactamente como está, sin espacios adicionales ni saltos de línea.
[!WARNING]
Nunca compartas tu clave privada con nadie. Ni siquiera con tu proveedor de hosting. La clave privada debe permanecer siempre en tu computadora. Si alguien más tiene acceso a ella, podrá conectarse a tu servidor sin restricciones.
Paso 3: Configurar el archivo authorized_keys en el servidor
Aunque DirectAdmin generalmente gestiona las claves automáticamente, a veces necesitarás configurar manualmente el archivo authorized_keys. Esto es especialmente útil si quieres añadir múltiples claves o si tienes problemas con la configuración automática.
Conectarte por primera vez
Si aún no tienes acceso SSH configurado, puedes conectarte temporalmente usando tu contraseña de usuario principal de DirectAdmin. Abre tu terminal y ejecuta:
ssh usuario@tu-servidor.com
Donde "usuario" es tu nombre de usuario de DirectAdmin y "tu-servidor.com" es la IP o dominio de tu servidor.
Editar el archivo authorized_keys
Una vez conectado, ejecuta estos comandos:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys
Pega tu clave pública en este archivo (una por línea) y guarda con Ctrl+X, luego Y y Enter.
Asegúrate de que los permisos sean correctos:
chmod 600 ~/.ssh/authorized_keys
chown usuario:usuario ~/.ssh/authorized_keys
[!TIP]
Si tienes varias claves públicas SSH DirectAdmin para distintos dispositivos, simplemente añade cada una en una línea nueva del archivoauthorized_keys. El servidor aceptará cualquiera de ellas para autenticarte.
Paso 4: Conectarte usando tu clave pública SSH DirectAdmin
Ahora viene la parte más gratificante: probar tu configuración de acceso SSH hosting.
Desde Linux o macOS
Ejecuta:
ssh -i ~/.ssh/id_rsa usuario@tu-servidor.com
Si configuraste una frase de contraseña, te la pedirá. Si todo está correcto, verás el mensaje de bienvenida del servidor.
Desde Windows
Si usas PuTTY:
- Inicia PuTTY.
- En el campo "Host Name" ingresa
usuario@tu-servidor.com. - En el panel izquierdo, navega a Connection > SSH > Auth > Credentials.
- Haz clic en "Browse" y selecciona tu clave privada (archivo
.ppk). - Haz clic en "Open" para conectarte.
[!INFO]
Para mejorar la seguridad SSH DirectAdmin, puedes deshabilitar el acceso por contraseña una vez que tus claves funcionen correctamente. Esto se hace editando el archivo/etc/ssh/sshd_configy cambiandoPasswordAuthenticationano. Pero ten cuidado: si pierdes tus claves, te quedarás sin acceso al servidor.
Paso 5: Configurar el agente SSH para mayor comodidad
Si te conectas frecuentemente a tu servidor, el agente SSH te ahorrará tiempo. Este servicio mantiene tus claves privadas cargadas en memoria, evitando que escribas tu frase de contraseña cada vez.
- Inicia el agente:
eval "$(ssh-agent -s)". - Agrega tu clave:
ssh-add ~/.ssh/id_rsa. - Introduce tu frase de contraseña una sola vez.
A partir de ahora, podrás conectarte sin que te pida la contraseña. Esto es especialmente útil si utilizas scripts automatizados o conexiones frecuentes.
Buenas prácticas de seguridad SSH DirectAdmin
Configurar el acceso SSH hosting es solo el primer paso. Para mantener tu servidor seguro, sigue estas recomendaciones:
Usa frases de contraseña robustas
Aunque las claves públicas son seguras, la frase de contraseña de tu clave privada es tu última línea de defensa. Usa una frase larga y única.
Limita los usuarios con acceso SSH
En DirectAdmin, puedes restringir qué usuarios tienen permiso para usar SSH. Revisa periódicamente la lista de claves autorizadas y elimina las que ya no uses.
Actualiza regularmente
Mantén tu sistema operativo y el software del servidor actualizado. DirectAdmin suele notificarte sobre actualizaciones de seguridad.
Monitorea los intentos de conexión
Puedes revisar los logs de autenticación en /var/log/auth.log (Linux) para ver intentos de conexión fallidos. Si notas actividad sospechosa, considera cambiar tu puerto SSH o usar herramientas como Fail2Ban.
Solución de problemas comunes al configurar SSH DirectAdmin
"Permission denied (publickey)"
Este error indica que el servidor no reconoce tu clave. Verifica que:
- La clave pública esté correctamente copiada en
authorized_keys. - Los permisos de los archivos y directorios sean los correctos.
- Estés usando la clave privada correcta con
-i.
"Connection timed out"
El servidor no responde. Comprueba que el puerto 22 esté abierto en tu firewall y que el servicio SSH esté activo en el servidor.
"Server refused our key"
Esto puede ocurrir si la clave pública no coincide con ninguna en authorized_keys. Regenera las claves o asegúrate de que el contenido esté íntegro.
[!WARNING]
Si deshabilitaste el acceso por contraseña y pierdes tu clave privada, podrías quedar bloqueado permanentemente. Siempre mantén una copia de seguridad de tus claves en un lugar seguro, como un gestor de contraseñas cifrado.
Preguntas frecuentes (FAQ)
¿Puedo usar la misma clave pública en varios servidores?
Sí, puedes usar la misma clave pública SSH DirectAdmin en múltiples servidores. Solo necesitas agregarla al archivo authorized_keys de cada uno. Sin embargo, por seguridad, es recomendable usar claves diferentes para servidores distintos.
¿Qué diferencia hay entre SSH y SFTP?
SSH te da acceso a la línea de comandos del servidor, mientras que SFTP (SSH File Transfer Protocol) es un protocolo para transferir archivos de forma segura. Ambos usan el mismo sistema de autenticación por claves.
¿Cómo cambio mi frase de contraseña de la clave privada?
Puedes cambiar la frase de contraseña sin regenerar las claves usando:
ssh-keygen -p -f ~/.ssh/id_rsa
¿DirectAdmin soporta claves ed25519?
Sí, DirectAdmin es compatible con claves ed25519, que son más rápidas y seguras que RSA. Puedes generarlas con:
ssh-keygen -t ed25519 -C "tu_correo@ejemplo.com"
Conclusión
Configurar el acceso SSH DirectAdmin y usar claves públicas no solo te da un control total sobre tu servidor, sino que también garantiza una seguridad SSH DirectAdmin de nivel profesional. Aunque el proceso puede parecer técnico al principio, siguiendo estos pasos verás que es bastante sencillo.
Recuerda que las claves públicas son como una huella digital única: nunca compartas tu clave privada, mantén tus archivos con permisos restrictivos y monitorea regularmente quién tiene acceso a tu servidor. Con estas prácticas, tendrás un acceso SSH hosting robusto y seguro durante muchos años.
Si encuentras algún problema en el camino, no dudes en consultar la documentación oficial de DirectAdmin o contactar con el soporte de tu proveedor. La comunidad de usuarios también es un excelente recurso para resolver dudas específicas. ¡Ahora ya tienes todo lo necesario para configurar SSH DirectAdmin como un profesional!
