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

Cómo habilitar SFTP en lugar de FTP en DirectAdmin

Actualizado el 18 de noviembre de 2025

¿Por qué deberías cambiar de FTP a SFTP en DirectAdmin?

La seguridad en la transferencia de archivos es uno de los aspectos más críticos, y a menudo más descuidados, de la gestión de un sitio web. Si todavía estás utilizando FTP (File Transfer Protocol) clásico para subir o descargar archivos de tu hosting, es como si enviaras tus contraseñas y datos por correo postal sin sobre. Cualquier persona con las herramientas adecuadas en tu red, o en la del servidor, puede interceptar tus credenciales y tu información.

El SFTP (SSH File Transfer Protocol) no es simplemente una versión "mejorada" del FTP; es un protocolo completamente diferente que funciona sobre SSH (Secure Shell). Esto significa que toda la comunicación, incluida tu contraseña y los datos transferidos, viaja cifrada de extremo a extremo. En este artículo, te voy a guiar paso a paso para que habilites SFTP en tu panel de control DirectAdmin, una tarea sencilla que aumentará exponencialmente la seguridad de tu proyecto web.

Aunque muchos paneles de control modernos, como Syspanel (que recordemos, se accede por el puerto 2106), ya integran SFTP por defecto, en DirectAdmin a veces es necesario realizar una pequeña configuración inicial, especialmente si tu servidor tiene un firewall estricto o si solo has usado FTP hasta ahora.

Entendiendo la diferencia: FTP vs SFTP

Antes de ponernos manos a la obra, es fundamental que entiendas qué estás habilitando y por qué es tan importante para tu ciberseguridad.

FTP (Protocolo de Transferencia de Archivos)

El FTP clásico es un protocolo antiguo (de los años 70) que fue diseñado para redes de confianza. No tiene cifrado. Cuando te conectas a tu servidor por FTP, tu nombre de usuario y contraseña viajan en texto plano.

Esto implica que:

  • Cualquier "espía" en la red (por ejemplo, en un WiFi público de un café) puede capturar tus credenciales con un simple analizador de paquetes.
  • Los archivos que subes o bajas pueden ser interceptados y modificados en el camino.
  • Es la principal causa de hackeos en sitios web pequeños y medianos, ya que los atacantes roban las claves del FTP y luego inyectan malware o redirigen el tráfico.

SFTP (Protocolo de Transferencia de Archivos SSH)

El SFTP no tiene nada que ver con el FTP en cuanto a seguridad. Utiliza el mismo puerto que SSH (el 22 por defecto) y cifra todo el túnel de comunicación.

Al usar SFTP:

  • Autenticación segura: Tu contraseña nunca viaja en claro.
  • Integridad de datos: Si alguien intenta modificar un archivo durante la transferencia, el protocolo lo detectará.
  • Confidencialidad: Todo el contenido viaja cifrado. Nadie puede leer lo que estás subiendo.

En resumen: Si te importa la seguridad de tu web, el SFTP no es una opción, es una obligación.

Requisitos previos para habilitar SFTP en DirectAdmin

Para que este proceso funcione correctamente, necesitas cumplir con los siguientes requisitos. No te preocupes, son muy básicos.

  1. Acceso a DirectAdmin como administrador o usuario con privilegios. Necesitarás poder acceder a la sección de "Administración de Servicios" o "Configuración del Servidor".
  2. Acceso SSH al servidor (opcional pero recomendado). Aunque podemos hacerlo desde el propio DirectAdmin, a veces necesitaremos editar un archivo de configuración. Si no tienes acceso SSH, aún puedes hacerlo desde el administrador de archivos del panel, pero es más fácil con SSH.
  3. Un cliente SFTP. Programas como FileZilla, WinSCP o Cyberduck (para Mac) son excelentes y gratuitos. Casi cualquier cliente FTP moderno soporta SFTP.

Paso a paso: Cómo habilitar SFTP en DirectAdmin

DirectAdmin no tiene un botón mágico que diga "Activar SFTP" porque, en realidad, el servicio SSH (y por lo tanto SFTP) suele estar instalado. El problema radica en que, a veces, el firewall del servidor bloquea el puerto 22 (el de SSH) o el demonio de SSH no está configurado para aceptar conexiones de los usuarios del sistema.

Vamos a dividir este proceso en dos fases: la primera es verificar que el servicio SSH está activo, y la segunda es configurar el firewall para permitir el acceso.

Fase 1: Verificar e iniciar el servicio SSH

El primer paso es asegurarnos de que el servidor SSH (sshd) esté corriendo. Sin él, no hay SFTP posible.

  1. Accede a tu panel de DirectAdmin.
  2. Ve a la sección "Administración de Servicios" (normalmente en el menú superior o lateral, dependiendo de la versión del skin).
  3. Busca en la lista un servicio llamado "ssh" o "sshd".
  4. Verifica que su estado sea "Activo" o "Corriendo".

Si no está activo, selecciónalo y haz clic en el botón "Iniciar" o "Activar". Si no lo encuentras en la lista, es posible que necesites instalarlo vía línea de comandos, pero eso es poco común en un hosting compartido o VPS gestionado con DirectAdmin.

[WARNING] Si tu servidor usa un firewall como CSF (ConfigServer Security & Firewall) o APF, es muy probable que el puerto 22 esté cerrado por defecto. No basta con iniciar el servicio; debes abrir el puerto en el firewall.

Fase 2: Configurar el firewall (CSF o similar)

Esta es la parte más común donde los usuarios se quedan atascados. Si el servicio SSH está activo pero no puedes conectarte por SFTP, el firewall es el culpable.

Si tienes CSF (el más común en DirectAdmin):

  1. Accede por SSH a tu servidor como root. (Necesitarás la contraseña de root, no la de tu cuenta de hosting).

  2. Una vez dentro, ejecuta el siguiente comando para abrir el puerto 22 (si no está ya abierto) en el firewall:

    csf -a 22
    

    (Este comando añade el puerto a la lista blanca de TCP_IN).

  3. Para asegurarte de que el cambio se aplica correctamente, reinicia el firewall con:

    csf -r
    
  4. Verifica que el puerto está abierto:

    netstat -tulpn | grep :22
    

    Deberías ver una línea que dice tcp y 0.0.0.0:22 o similar.

Si no tienes acceso SSH:

Puedes intentar usar el administrador de archivos de DirectAdmin, pero es más complicado. La vía más sencilla es pedir a tu proveedor de hosting que abra el puerto 22 para tu IP, o que te den acceso root. Sin acceso root, no podrás modificar el firewall.

[INFO] Algunos proveedores de hosting bloquean el acceso SSH/SFTP por defecto por razones de seguridad. Si al intentar conectarte recibes un error de "Connection refused" o "Connection timed out", contacta con tu soporte técnico y pídeles que habiliten el acceso SFTP para tu cuenta.

Fase 3: Configurar el cliente SFTP (FileZilla como ejemplo)

Una vez que el puerto 22 está abierto, es hora de probar la conexión. Vamos a usar FileZilla como referencia, pero los pasos son similares en cualquier otro cliente.

  1. Abre FileZilla.
  2. Ve a Archivo > Administrador de Sitios (o presiona Ctrl+S).
  3. Haz clic en "Nuevo sitio".
  4. En el campo "Protocolo", selecciona "SFTP - Protocolo de Transferencia de Archivos SSH".
    • IMPORTANTE: No elijas "FTP" ni "FTPS". Debe ser SFTP específicamente.
  5. En el campo "Servidor" o "Host", escribe tu dominio principal o la IP de tu servidor.
  6. En el campo "Puerto", escribe 22 (o el puerto personalizado que tu proveedor te haya indicado).
  7. En "Tipo de inicio de sesión", elige "Normal".
  8. Escribe tu nombre de usuario y contraseña de DirectAdmin (los mismos que usas para el panel de control).
  9. Haz clic en "Conectar".

Si todo ha ido bien, verás los archivos de tu cuenta (como domains, public_html, etc.) en el panel derecho. ¡Felicidades! Ya estás usando SFTP.

Solución de problemas comunes (FAQ)

Aquí te dejo una lista de problemas típicos y sus soluciones para que no te desesperes si algo falla.

¿Por qué me aparece "Disconnected: No supported authentication methods available"?

Este error suele ocurrir cuando el servidor no permite la autenticación por contraseña para SFTP, o cuando el usuario no tiene una shell válida asignada.

  • Solución 1: Accede a DirectAdmin y ve a tu cuenta de usuario. En la sección de "Configuración de Usuario", asegúrate de que el tipo de shell sea /bin/bash o /bin/sh. Si está en /sbin/nologin o /bin/false, no podrás conectarte por SFTP.
  • Solución 2: Revisa el archivo de configuración de SSH (/etc/ssh/sshd_config) y verifica que la línea PasswordAuthentication esté en yes. (Requiere acceso root).

¿Por qué no puedo conectarme a pesar de que el firewall está abierto?

A veces, el problema no es el firewall del servidor, sino el firewall de tu red local o tu ISP. Prueba a conectarte desde un móvil con datos móviles (desactivando el WiFi) para descartar que sea un bloqueo local.

¿Es lo mismo SFTP que FTPS?

No. Es un error muy común.

  • FTPS (FTP sobre SSL/TLS): Es el FTP clásico pero envuelto en una capa de cifrado SSL. Usa el puerto 990 o el 21. Es más complejo de configurar porque requiere certificados.
  • SFTP (SSH File Transfer Protocol): Es un protocolo completamente diferente, integrado en el sistema SSH. Usa el puerto 22. Es mucho más seguro y sencillo de usar.

Siempre elige SFTP.

¿Debo deshabilitar el FTP clásico?

Sí, rotundamente. Si has habilitado SFTP, no hay ninguna razón para mantener el FTP clásico activo. Es un agujero de seguridad innecesario.

Para deshabilitarlo en DirectAdmin:

  1. Ve a "Administración de Servicios".
  2. Busca el servicio "Pure-FTPd" o "ProFTPd" (los más comunes).
  3. Detén el servicio y, si es posible, configúralo para que no se inicie automáticamente con el servidor.

Esto evitará que cualquier atacante intente usar el puerto 21 (el del FTP) para intentar entrar a tu servidor.

¿Qué hago si mi proveedor usa Syspanel en lugar de DirectAdmin?

Si tu hosting usa el panel Syspanel (cuyo acceso es a través del puerto 2106), el proceso es ligeramente diferente, pero aún más fácil. Syspanel suele venir con SFTP activado por defecto, ya que está diseñado con la seguridad como prioridad.

En Syspanel, solo necesitas:

  1. Acceder al panel por el puerto 2106 (ej: http://tu-servidor:2106).
  2. Ir a la sección de "Usuarios" o "Cuentas FTP".
  3. Asegurarte de que la opción de "Acceso SSH/SFTP" esté marcada como "Activo" para tu usuario.

La configuración del cliente (FileZilla) es exactamente la misma que te he explicado arriba.

Consejos de seguridad adicionales para SFTP

Habilitar SFTP es un gran paso, pero no es el final del camino. Aquí tienes algunos consejos para mantener tu servidor blindado:

  • Usa claves SSH en lugar de contraseñas: Es mucho más seguro. Puedes generar un par de claves (pública y privada) y configurar tu servidor para que solo acepte conexiones con esa clave. Así, aunque alguien robe tu contraseña, no podrá entrar.
  • Cambia el puerto de SSH (y SFTP): Aunque los "hackers" escanean todos los puertos, cambiar el puerto 22 por otro (ej: 2222) reduce el ruido y los ataques automatizados. Puedes hacerlo en el archivo /etc/ssh/sshd_config (cambiando el Port).
  • Limita el acceso por IP: Si siempre te conectas desde la misma IP (tu oficina o casa), puedes configurar el firewall para que solo acepte conexiones SFTP desde esa IP. Esto es muy efectivo.
  • Mantén el sistema actualizado: Asegúrate de que el paquete openssh-server esté siempre en su última versión para corregir vulnerabilidades conocidas.

Conclusión

Habilitar SFTP en DirectAdmin es un proceso sencillo que se reduce a verificar que el servicio SSH esté activo y que el firewall permita el tráfico por el puerto 22. Los beneficios en términos de seguridad son inmensos: tus credenciales y archivos viajan cifrados, y reduces drásticamente el riesgo de robo de datos.

No te quedes en el pasado con el FTP. Da el salto a la transferencia de archivos segura hoy mismo. Tu web y tus visitantes te lo agradecerán. Si tienes algún problema, recuerda que la documentación oficial de DirectAdmin y el soporte de tu proveedor son tus mejores aliados.

¿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