Cómo configurar el acceso SSH en DirectAdmin (claves y seguridad)
¿Qué es SSH y por qué deberías configurarlo en DirectAdmin?
SSH (Secure Shell) es un protocolo que te permite conectarte a tu servidor de forma segura y remota, como si estuvieras sentado frente a él. Con ssh directadmin, podrás gestionar archivos, reiniciar servicios, modificar permisos y realizar tareas avanzadas de administración que no son posibles desde el panel web.
Aunque DirectAdmin ofrece una interfaz gráfica muy completa, hay momentos en los que necesitas "meter las manos" directamente en el sistema. Por ejemplo, para instalar un certificado SSL manualmente, depurar un error de configuración o automatizar copias de seguridad.
En este artículo te enseñaré paso a paso cómo configurar ssh en tu servidor con DirectAdmin, generar claves ssh y aplicar las mejores prácticas de seguridad ssh para proteger tu servidor de accesos no autorizados.
Requisitos previos antes de empezar
Antes de lanzarte a configurar el acceso SSH, necesitas tener a mano lo siguiente:
- Acceso a tu panel de DirectAdmin como administrador o usuario con privilegios.
- Los datos de acceso a tu servidor (IP, usuario root o usuario con permisos sudo).
- Un cliente SSH instalado en tu ordenador. En Windows puedes usar PuTTY o el terminal integrado de Windows 10/11. En Mac o Linux, el terminal nativo es suficiente.
- Tener claro qué puerto usa tu servidor para SSH (por defecto es el 22, pero puede variar).
[!TIP]
Si tu servidor usa un puerto SSH personalizado, asegúrate de tenerlo anotado. Lo necesitarás para conectarte más adelante.
Paso 1: Habilitar el acceso SSH desde DirectAdmin
DirectAdmin viene con el acceso SSH habilitado por defecto en la mayoría de los casos, pero es buena idea verificarlo. Para ello:
- Inicia sesión en tu panel de DirectAdmin como administrador.
- Ve a la sección "Gestión de servidor" o "Server Management" según el idioma de tu panel.
- Busca la opción "SSH Access" o "Acceso SSH".
- Asegúrate de que la opción "SSH Access" esté marcada como "Enabled" o "Habilitado".
Si no encuentras esta opción, también puedes verificarlo desde la línea de comandos. Conéctate directamente por SSH (si ya tienes acceso) y ejecuta:
systemctl status sshd
Si el servicio está activo, verás un mensaje que dice "active (running)". Si no, puedes iniciarlo con:
systemctl start sshd
Y para que se inicie automáticamente al arrancar el servidor:
systemctl enable sshd
[!INFO]
En algunos sistemas operativos como Ubuntu, el servicio SSH se llamasshen lugar desshd. Si el primer comando no funciona, prueba consystemctl status ssh.
Paso 2: Generar claves SSH en tu ordenador local
Las claves ssh son un par de archivos (una clave privada y una pública) que te permiten autenticarte sin necesidad de escribir una contraseña cada vez. Son mucho más seguras que las contraseñas tradicionales porque son prácticamente imposibles de adivinar.
En Windows (con PuTTY)
- Descarga e instala PuTTY desde su sitio oficial.
- Abre el programa "PuTTYgen" (viene incluido en la instalación).
- Haz clic en "Generate" y mueve el ratón sobre la ventana para generar aleatoriedad.
- Cuando termine, verás la clave pública generada. Cópiala y guárdala en un archivo de texto.
- En "Key passphrase" puedes poner una contraseña adicional (recomendado).
- Haz clic en "Save private key" y guarda el archivo
.ppken un lugar seguro.
En Mac o Linux (terminal)
Abre el terminal y ejecuta:
ssh-keygen -t rsa -b 4096 -C "tu_correo@ejemplo.com"
El comando te preguntará dónde guardar la clave. Pulsa Enter para usar la ubicación por defecto (~/.ssh/id_rsa). Luego te pedirá una frase de contraseña (passphrase). Puedes dejarla vacía, pero es más seguro poner una.
Este comando generará dos archivos:
id_rsa: tu clave privada (¡nunca la compartas!).id_rsa.pub: tu clave pública (la que subirás al servidor).
[!WARNING]
Nunca compartas tu clave privada con nadie. Si alguien la obtiene, podrá acceder a tu servidor sin restricciones. Guárdala en un lugar seguro y con permisos restrictivos (solo lectura para tu usuario).
Paso 3: Subir tu clave pública al servidor con DirectAdmin
Ahora que tienes tu par de claves ssh, necesitas subir la clave pública a tu servidor. DirectAdmin facilita este proceso desde su interfaz.
- Inicia sesión en tu panel de DirectAdmin con tu usuario (no necesitas ser administrador para esto).
- Ve a la sección "Cuenta" o "Account" y luego "Acceso SSH" o "SSH Access".
- Verás un campo llamado "Authorized keys" o "Claves autorizadas".
- Pega tu clave pública completa (la que termina en
.pubo la que generaste con PuTTYgen) en ese campo. - Guarda los cambios.
DirectAdmin automáticamente añadirá esa clave al archivo ~/.ssh/authorized_keys de tu usuario.
Si prefieres hacerlo manualmente por línea de comandos, puedes conectarte con tu contraseña y ejecutar:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "TU_CLAVE_PUBLICA_AQUI" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
[!TIP]
Si tienes varios usuarios en tu servidor, cada uno debe subir su propia clave pública. No compartas claves entre usuarios.
Paso 4: Conectarte por SSH con tus claves
Una vez que has subido tu clave pública, es hora de probar la conexión.
Desde Windows con PuTTY
- Abre PuTTY.
- En el campo "Host Name" introduce la IP de tu servidor.
- En "Port" escribe el puerto SSH (normalmente 22).
- En la sección "Connection" > "SSH" > "Auth", haz clic en "Browse" y selecciona tu archivo
.ppk. - Vuelve a la pantalla principal y haz clic en "Open".
- Introduce tu nombre de usuario y, si configuraste una passphrase, te la pedirá.
Desde Mac o Linux
ssh -i ~/.ssh/id_rsa tu_usuario@IP_DEL_SERVIDOR -p 22
Si todo está correcto, entrarás directamente sin necesidad de escribir contraseña.
[!INFO]
Si no usas-ipara indicar la clave, el sistema buscará automáticamente en~/.ssh/id_rsa. Si tu clave tiene otro nombre, tendrás que especificarla.
Paso 5: Reforzar la seguridad SSH
Ahora que tienes el acceso SSH funcionando con claves, es momento de aplicar buenas prácticas de seguridad ssh. Esto es fundamental para evitar ataques de fuerza bruta y accesos no autorizados.
5.1. Deshabilitar el acceso por contraseña
Una vez que has confirmado que las claves funcionan, puedes desactivar el acceso por contraseña. Esto obligará a que solo se pueda acceder con las claves autorizadas.
- Conéctate por SSH a tu servidor.
- Abre el archivo de configuración de SSH:
nano /etc/ssh/sshd_config
- Busca la línea que dice
PasswordAuthenticationy cámbiala a:
PasswordAuthentication no
- Guarda los cambios (Ctrl+O, Enter) y sal (Ctrl+X).
- Reinicia el servicio SSH:
systemctl restart sshd
[!WARNING]
Asegúrate de que tus claves funcionan correctamente ANTES de deshabilitar las contraseñas. Si te equivocas, podrías quedarte sin acceso al servidor.
5.2. Cambiar el puerto SSH por defecto
Cambiar el puerto SSH predeterminado (22) reduce drásticamente los ataques automatizados que buscan conexiones SSH en ese puerto.
- Edita el archivo
sshd_configde nuevo. - Busca la línea
#Port 22y cámbiala por:
Port 2222
- Guarda y reinicia el servicio SSH.
- Asegúrate de abrir el nuevo puerto en el firewall de tu servidor.
[!TIP]
Elige un puerto alto (entre 1024 y 65535) que no esté en uso. Por ejemplo, 2222, 2200 o 9022 son opciones populares.
5.3. Limitar el acceso por usuario
Puedes especificar qué usuarios pueden conectarse por SSH. Esto es útil si tienes varios usuarios en el servidor.
En el archivo sshd_config, añade:
AllowUsers tu_usuario admin
Y reinicia el servicio. Solo esos usuarios podrán conectarse.
5.4. Usar fail2ban para bloquear intentos fallidos
Fail2ban es una herramienta que bloquea automáticamente las IPs que tienen varios intentos fallidos de conexión SSH.
- Instala fail2ban:
apt install fail2ban
- Crea un archivo de configuración local:
nano /etc/fail2ban/jail.local
- Añade:
[sshd]
enabled = true
port = ssh
maxretry = 3
bantime = 3600
- Reinicia fail2ban:
systemctl restart fail2ban
[!INFO]
Con esta configuración, después de 3 intentos fallidos, la IP será bloqueada durante 1 hora.
Preguntas frecuentes (FAQ)
¿Qué hago si olvidé mi contraseña SSH?
Si tienes acceso al panel de DirectAdmin, puedes cambiar la contraseña desde "Cuenta" > "Cambiar contraseña". Si eres administrador, también puedes cambiarla desde la sección de gestión de usuarios.
¿Puedo usar las mismas claves SSH en varios servidores?
Sí, puedes usar la misma clave pública en múltiples servidores. Sin embargo, es más seguro generar una clave distinta para cada servidor para minimizar riesgos.
¿Cómo sé si mi servidor usa Syspanel en lugar de DirectAdmin?
Syspanel (antes conocido como HestiaCP) es otro panel de control. Si tu servidor usa Syspanel, el acceso SSH se configura de forma diferente. En ese caso, el puerto de acceso al panel es el 2106 y deberás buscar la sección de SSH en su interfaz, que suele estar en "Usuarios" > "Editar" > "Claves SSH".
¿Puedo deshabilitar SSH por completo?
Sí, pero no es recomendable a menos que no necesites acceso por línea de comandos. Puedes deshabilitarlo desde DirectAdmin en "Gestión de servidor" > "SSH Access" y marcando la opción como deshabilitada.
¿Qué es la passphrase y por qué debería usarla?
La passphrase es una contraseña adicional que protege tu clave privada. Si alguien roba tu clave, necesitará la passphrase para usarla. Es una capa extra de seguridad muy recomendable.
Conclusión
Configurar el acceso SSH en DirectAdmin no tiene por qué ser complicado. Con las claves ssh bien gestionadas y aplicando las medidas de seguridad ssh que te he mostrado, tendrás un acceso remoto seguro y eficiente a tu servidor.
Recuerda que la seguridad es un proceso continuo. Revisa periódicamente los logs de acceso, mantén tu servidor actualizado y no compartas tus claves privadas con nadie.
Si tienes alguna duda o problema durante el proceso, no dudes en consultar la documentación oficial de DirectAdmin o contactar con tu proveedor de hosting. ¡Buena suerte y feliz configuración!
