El mensaje Data Socket Error: Connection timed out suele aparecer cuando el cliente FTP logra abrir la conexión de control, pero no puede establecer o completar la conexión utilizada para listar carpetas o transferir archivos.
Por eso es posible ver un inicio de sesión correcto y, a continuación, una espera prolongada al ejecutar LIST, abrir una carpeta, subir o descargar. La contraseña puede ser válida: el problema está en otro canal de la misma sesión.
FTP utiliza un canal de control y otro de datos
FTP separa las órdenes de la transferencia de información:
- Canal de control: transporta el inicio de sesión y comandos como cambiar de carpeta.
- Canal de datos: se utiliza para listar directorios y transferir archivos.
Un firewall, un router NAT, una regla de seguridad o una dirección mal anunciada pueden permitir el primer canal y bloquear el segundo. FTPS cifra FTP, pero conserva esta separación, por lo que también puede sufrir el mismo problema.
Modo pasivo y modo activo
Modo pasivo
El cliente solicita al servidor una dirección y un puerto de datos mediante comandos como PASV o EPSV, y luego inicia esa conexión. Suele funcionar mejor cuando el usuario está detrás de un router, NAT o firewall, por lo que normalmente es la primera opción para probar.
Modo activo
El cliente informa al servidor dónde debe conectarse para abrir el canal de datos. Esto requiere que la red del cliente permita una conexión entrante y puede fallar con mayor facilidad detrás de NAT o firewalls estrictos.
Cambiar de modo puede ayudar a diagnosticar, pero no corrige una configuración incorrecta del servidor. Si el modo pasivo está habilitado, el administrador debe publicar y permitir el rango de puertos que realmente utiliza el servicio FTP.
Primero: leer el registro del cliente
El registro de FileZilla, WinSCP u otro cliente muestra en qué punto se detiene la sesión. Guardá el fragmento relevante sin publicar contraseñas.
Buscá esta secuencia:
- Conexión al servidor y respuesta inicial.
- Autenticación aceptada.
- Comando
PASV,EPSV,PORToEPRT. - Intento de abrir la conexión de datos.
- Tiempo de espera al listar o transferir.
Anotá también fecha, hora, hostname, protocolo, puerto, red utilizada e IP pública del cliente. Estos datos permiten al proveedor localizar el intento en los registros.
Comprobaciones desde el cliente FTP
1. Verificar protocolo, servidor y puerto
No confundas FTP, FTPS y SFTP. SFTP funciona sobre SSH y no utiliza los canales de datos de FTP. Confirmá qué protocolo ofrece el hosting y elegí en el cliente la modalidad exacta de cifrado.
2. Activar el modo pasivo
En la configuración de transferencia del sitio, seleccioná el modo pasivo. Volvé a conectar y probá primero listar una carpeta pequeña. No cambies varias opciones al mismo tiempo, porque perderías la posibilidad de identificar qué resolvió el fallo.
3. Reducir conexiones simultáneas
Algunos servidores limitan la cantidad de conexiones por usuario o dirección IP. Configurá temporalmente una sola transferencia simultánea y repetí la prueba.
4. Probar desde otra red
Una red corporativa, un proveedor de internet o un equipo de seguridad puede filtrar conexiones de datos. Probar desde una conexión móvil u otra red confiable ayuda a determinar si el bloqueo está del lado del cliente.
5. Actualizar el cliente
Utilizá una versión vigente obtenida del sitio oficial. Revisá además la hora del sistema, especialmente si la conexión FTPS muestra errores de certificado.
6. Revisar firewall, antivirus o proxy FTP
No desactives protecciones de forma permanente. Si necesitás hacer una prueba controlada, limitá su duración y alcance. Cuando se confirma la interferencia, creá una regla específica para el programa, destino y protocolo necesarios.
Comprobaciones para el administrador del servidor
Configurar un rango pasivo definido
El servicio FTP debe utilizar un rango de puertos pasivos conocido. Ese rango depende de la configuración del servidor; no conviene copiar números de otra instalación sin verificar el archivo de configuración y la documentación de la plataforma.
Abrir el mismo rango en todas las capas
Los puertos configurados deben estar permitidos por el firewall del sistema, el firewall perimetral, el grupo de seguridad del proveedor cloud y cualquier otra capa intermedia. Abrir un rango diferente no tendrá efecto.
Anunciar la dirección pública correcta
Si el servidor está detrás de NAT, el servicio FTP debe devolver al cliente una dirección pública alcanzable. Una respuesta PASV con una IP privada o antigua puede hacer que el cliente intente conectarse al destino equivocado.
Revisar IPv4 e IPv6
Cuando el hostname publica ambos tipos de dirección, comprobá que el servicio y los firewalls funcionen por las dos rutas. Una prueba que funciona forzando IPv4 pero falla normalmente puede señalar una configuración IPv6 incompleta.
Revisar FTPS e inspección TLS
Al cifrarse la sesión, algunos dispositivos ya no pueden interpretar dinámicamente las órdenes FTP para abrir puertos. El rango pasivo debe estar configurado explícitamente y permitido. Desactivar TLS no es la solución recomendada.
Consultar registros del servicio y del firewall
Los logs permiten saber si el servidor recibió la conexión de datos, la rechazó o nunca la vio. Compará la hora del cliente con los eventos del servidor y buscá bloqueos, límites de conexiones y errores de NAT.
Servidor con cPanel
En servidores cPanel administrados, la configuración del modo pasivo se realiza sobre el servicio FTP y luego debe reflejarse en el firewall. cPanel documenta procedimientos para Pure-FTPd y ProFTPD, pero el rango y la red pública deben revisarse según la instalación.
Si sólo tenés acceso a una cuenta de cPanel, normalmente no podés modificar el rango pasivo del servidor ni las reglas globales. Enviá al soporte:
- Hostname, protocolo y puerto utilizados.
- Fecha, hora y zona horaria.
- Tu IP pública.
- Fragmento del registro desde el inicio de sesión hasta el timeout.
- Resultado de la prueba en modo pasivo y desde otra red.
Por qué SFTP puede funcionar cuando FTP falla
SFTP utiliza el canal SSH y normalmente una sola conexión. No requiere un rango pasivo de FTP. Si el servidor ofrece acceso SFTP, puede simplificar el paso por firewalls y, además, cifra la sesión.
No obstante, cambiar a SFTP exige credenciales y permisos SSH válidos. Una cuenta FTP no se convierte automáticamente en una cuenta SFTP. Para configurarlo en Windows, consultá cómo conectarse con WinSCP por SFTP o FTP.
Qué indica cada escenario
- No conecta al servidor: revisá DNS, hostname, puerto, servicio y firewall de control.
- Conecta pero no autentica: revisá usuario, contraseña, restricciones y protocolo.
- Autentica pero no lista: investigá canal de datos, modo pasivo, NAT y firewalls.
- Lista pero no transfiere un archivo: revisá permisos, cuota, tamaño, límites y nombre.
- Funciona desde otra red: concentrá el diagnóstico en el router, firewall o proveedor de la red original.
- Falla para todos los usuarios: revisá servicio, rango pasivo, IP pública y reglas del servidor.
Errores que conviene evitar
- Abrir todos los puertos del servidor como prueba.
- Desactivar permanentemente el firewall o el cifrado.
- Confundir SFTP con FTPS.
- Cambiar simultáneamente protocolo, puerto y modo de transferencia.
- Publicar registros que contienen usuarios, direcciones internas o credenciales.
- Suponer que un inicio de sesión correcto descarta un problema de red.
Lista de comprobación final
- Confirmá el protocolo y el puerto indicados por el proveedor.
- Probá FTP o FTPS en modo pasivo.
- Revisá el registro para localizar el timeout.
- Reducí conexiones y probá otra red confiable.
- Si administrás el servidor, verificá rango pasivo, firewall, NAT e IP pública.
- Si SFTP está disponible, evaluá utilizarlo con credenciales SSH válidas.
- Enviá al soporte datos suficientes para correlacionar el evento.
Para revisar el uso cotidiano después de recuperar la conexión, consultá cómo subir y descargar archivos con FileZilla.