SincroDev Logo SincroDev

FTP y SFTP: Transferencia de archivos clásica vs. moderna


Introducción

Antes de la nube, de Dropbox y de las APIs REST, existía FTP (File Transfer Protocol). Nacido en 1971, es uno de los protocolos más antiguos que todavía se usan hoy en día.

Aunque muchos desarrolladores modernos lo consideran obsoleto, sigue siendo un estándar en la banca, telecomunicaciones y sistemas legacy para mover grandes volúmenes de datos (Batch Processing). Pero cuidado: usarlo mal es un riesgo de seguridad enorme.

¿Qué es FTP?

FTP es un protocolo diseñado exclusivamente para mover archivos de un ordenador a otro. A diferencia de HTTP, que abre y cierra conexiones rápidamente, FTP mantiene una “conversación” más larga.

Funciona con dos canales separados:

  1. Canal de Comando (Puerto 21): Por aquí viajan las órdenes (“Login”, “Listar carpeta”, “Subir archivo”).
  2. Canal de Datos (Puerto 20 o aleatorio): Por aquí viaja el contenido real del archivo.

El gran problema de seguridad

El FTP original envía todo en texto plano. Esto incluye tu usuario, tu contraseña y los archivos mismos. Cualquier persona en tu red con un “sniffer” (como Wireshark) puede robar tus credenciales en segundos.

La Solución: SFTP (SSH File Transfer Protocol)

A menudo se confunden, pero SFTP no es FTP con SSL. Son bestias completamente diferentes.

  • FTPS: Es el FTP clásico envuelto en una capa de seguridad (SSL/TLS). Es complejo de configurar por problemas con los cortafuegos (requiere abrir muchos puertos).
  • SFTP: Es un protocolo de transferencia de archivos que corre sobre SSH (Secure Shell).

Por qué SFTP es el rey hoy:

  1. Un solo puerto: Solo necesita el puerto 22 (el mismo que usas para administrar tu servidor Linux). Es muy fácil de configurar en firewalls y Docker.
  2. Encriptación total: Todo (comandos, datos, autenticación) viaja encriptado por defecto.
  3. Autenticación robusta: Permite usar llaves SSH (public/private keys) en lugar de contraseñas, lo cual es vital para la automatización segura.

FTP/SFTP en la Automatización (N8N)

En el mundo de la automatización, a menudo nos encontramos con clientes o sistemas antiguos que “dejan un CSV en una carpeta” cada noche.

  • Escenario típico: Un ERP antiguo exporta las ventas del día a un servidor SFTP a las 00:00.
  • Tu misión: Conectarte, descargar el archivo, parsear el CSV e insertarlo en una base de datos moderna o enviarlo a una API.

Herramientas como N8N tienen nodos nativos para FTP y SFTP.

  • Consejo Pro: Siempre usa el nodo SFTP. Si un cliente te pide FTP plano, explícale los riesgos y propón SFTP o al menos FTPS.

Modos Activo vs. Pasivo

Si alguna vez tienes que lidiar con FTP clásico, te toparás con este dolor de cabeza:

  • Activo: El servidor intenta conectarse de vuelta a tu cliente. Casi siempre falla hoy en día por culpa de los NAT y Firewalls de nuestras casas/oficinas.
  • Pasivo (PASV): El cliente inicia ambas conexiones. Esta es la opción que debes marcar en tu cliente FTP (FileZilla) o en tu código el 99% de las veces para que funcione.

Conclusión

FTP fue un pionero, pero en 2026 su uso sin encriptación es una irresponsabilidad. SFTP es el estándar moderno: seguro, fácil de automatizar y compatible con la infraestructura de servidores Linux actual. Conocer la diferencia te ahorrará muchos dolores de cabeza de seguridad y configuración de red.