Tanto SFTP como FTPS cifran tus transferencias FTP. Los dos llevan una "S" en el nombre. Y se confunden constantemente — lo cual importa, porque son tecnologías completamente distintas que funcionan de maneras completamente distintas.
Elegir el incorrecto al configurar una conexión significa que no funcionará. Elegir el correcto requiere entender qué es cada uno. Aquí tienes la explicación clara.
FTP: el punto de partida
Antes de ver las variantes seguras, conviene entender el FTP básico. El protocolo de transferencia de archivos se diseñó a principios de los años 70 — mucho antes de que internet tuviera el aspecto que tiene hoy. No tiene ningún tipo de cifrado. Las credenciales (usuario y contraseña) viajan en texto plano por la red. También el contenido de tus archivos.
FTP sigue siendo muy utilizado en redes internas donde el tráfico nunca sale de un entorno de confianza, en instalaciones de hosting heredadas o en situaciones controladas donde el cifrado no es un problema. Es sencillo, funciona y prácticamente cualquier servidor lo soporta. Pero por internet público, enviar credenciales en texto plano no es algo que quieras hacer.
Ahí es donde entran las dos variantes seguras — y donde la gente empieza a confundirse.
SFTP (SSH File Transfer Protocol)
A pesar del nombre, SFTP no es FTP con seguridad añadida. Es un protocolo completamente diferente, desarrollado de forma independiente como parte del conjunto de protocolos SSH (Secure Shell).
SFTP funciona sobre SSH en el puerto 22. Todo — autenticación, comandos, contenido de los archivos — está cifrado por la capa SSH. Un cliente SFTP y un cliente FTP estándar hablan protocolos fundamentalmente distintos, aunque el resultado final (transferir archivos) le parezca igual al usuario.
Características principales de SFTP:
- Funciona sobre SSH. Si un servidor tiene SSH habilitado, casi con toda seguridad también tiene SFTP disponible — sin configuración adicional.
- Un solo puerto (22). Toda la comunicación ocurre por un único puerto, lo que simplifica mucho la configuración del cortafuegos.
- Autenticación por clave. En lugar de contraseña, puedes autenticarte con un par de claves SSH. La clave privada nunca sale de tu máquina; el servidor solo guarda la pública. Es significativamente más seguro que la autenticación por contraseña.
- Cifrado de extremo a extremo. Las credenciales y el contenido de los archivos siempre están cifrados, independientemente de la red en la que estés.
- Sin certificados TLS. La autenticación la gestiona SSH — sin autoridad de certificación, sin renovaciones de certificado.
FTPS (FTP sobre TLS)
FTPS es FTP real con cifrado TLS añadido encima. Es un enfoque diferente: tomar el protocolo FTP existente y envolver la conexión en TLS, la misma capa de cifrado que usa HTTPS.
Hay dos modos de FTPS:
FTPS Explícito (FTPES)
El cliente se conecta al servidor por el puerto 21 (el puerto FTP estándar) y enseguida envía un comando AUTH TLS para pasar la conexión a cifrada. El servidor debe soportar este comando. Se llama "explícito" porque el cliente solicita explícitamente la activación de TLS.
FTPS Implícito
El cliente se conecta al puerto 990 y el handshake TLS ocurre de inmediato, antes de cualquier comunicación FTP. No hay fase sin cifrar. Este modo es menos habitual, pero todavía se usa en algunos servidores.
Características principales de FTPS:
- Basado en FTP. Mismo conjunto de comandos, mismas consideraciones de modo pasivo/activo, mismo comportamiento multipuerto para las transferencias de datos.
- Requiere un certificado TLS. El servidor necesita un certificado SSL/TLS válido que hay que renovar periódicamente.
- Complejidad con cortafuegos. FTP en modo pasivo abre un rango de puertos de datos dinámicos. Los cortafuegos necesitan entender FTP para inspeccionar estas conexiones correctamente (se llama inspección FTP-aware). Con el cifrado TLS, el cortafuegos no puede inspeccionar el tráfico FTP, lo que puede complicar el modo pasivo.
- Solo contraseña. FTPS no soporta autenticación por clave — te autenticas con usuario y contraseña (que sí va cifrada por TLS).
- Alta compatibilidad. Muchos entornos corporativos y de hosting ofrecen FTPS porque es una vía de actualización directa desde una instalación FTP existente.
Comparativa lado a lado
| Característica | FTP | SFTP | FTPS |
|---|---|---|---|
| Basado en | FTP | SSH | FTP + TLS |
| Puerto por defecto | 21 | 22 | 21 (explícito) / 990 (implícito) |
| Cifrado | Ninguno | Siempre (SSH) | Sí (TLS) |
| Autenticación por clave | No | Sí | No |
| Certificado necesario | No | No | Sí |
| Compatible con cortafuegos | Complejo | Simple (1 puerto) | Complejo |
| Disponibilidad en servidores | Universal | Cualquier servidor SSH | Requiere configuración |
¿Cuál deberías usar?
Usa SFTP si: controlas el servidor (o es un servidor Linux/Unix con SSH), la seguridad es prioritaria y quieres una configuración de cortafuegos sencilla. SFTP es el estándar moderno. Si no hay ninguna razón particular para usar otra cosa, SFTP es la opción por defecto correcta.
Usa FTPS si: tu proveedor de hosting o el servidor de un cliente lo requiere, o estás añadiendo cifrado a una instalación FTP existente sin poder cambiar la infraestructura. Muchos entornos corporativos que llevan años operando servidores FTP eligen FTPS como vía de actualización porque requiere menos cambios en la configuración existente.
Usa FTP sin cifrar si: estás en una red interna de confianza donde el cifrado no es necesario, o trabajas con un sistema heredado que no soporta ninguna de las variantes seguras. Evítalo por completo para cualquier cosa que vaya por internet público.
FTPSuite soporta los tres
FTPull (para descargas automáticas) y FTPush (para subidas automáticas) gestionan FTP, SFTP y FTPS de forma nativa. Seleccionar el protocolo en los ajustes de conexión es cuestión de un clic — la app se encarga de las diferencias técnicas automáticamente. Introduces el host, el puerto, las credenciales y el protocolo; el resto corre por su cuenta.
Si no estás seguro de qué protocolo usa tu servidor, consulta nuestra guía: FTP, SFTP y FTPS: ¿qué protocolo usa tu servidor?