Volver al Glosario de Hosting

¿Qué es SFTP?

El protocolo de transferencia de archivos mediante SSH (SFTP, por sus siglas en inglés) transfiere y administra archivos sobre una conexión SSH cifrada, normalmente en el puerto TCP 22. A diferencia de FTP, que envía credenciales y archivos en texto plano, SFTP cifra todo en tránsito. Pese al nombre, es un protocolo independiente, no FTP con cifrado agregado.

Más sobre SFTP

El protocolo de transferencia de archivos mediante SSH (SFTP, por sus siglas en inglés: SSH File Transfer Protocol) transfiere archivos de forma segura y cumple la misma función que FTP, pero es un protocolo independiente, diseñado por el Grupo de Trabajo de Ingeniería de Internet (IETF); no es una versión de FTP a la que se le haya agregado cifrado (esa variante se llama FTPS). En la práctica funciona muy parecido a FTP: inicias sesión con tus credenciales y usas un cliente para subir, descargar, editar y borrar archivos en tu servidor.

La diferencia está en lo que viaja por la red. El FTP tradicional envía tu nombre de usuario, tu contraseña y cada archivo en texto plano, así que cualquiera que intercepte la comunicación entre tu equipo y el servidor puede capturarlos. SFTP cifra todo desde el momento en que sale de tu computadora. Del inicio de sesión se encarga el propio SSH: el servidor acepta una contraseña o, con mayor seguridad, una llave SSH en su lugar, y algunos servidores solo admiten el acceso con llave.

Cómo funciona SFTP

SFTP suele ejecutarse como un subsistema de SSH versión 2, así que tu inicio de sesión, tus comandos y tus archivos viajan por una sola conexión cifrada en el puerto TCP 22, el puerto que la Autoridad de Números Asignados en Internet (IANA) asigna a SSH (en inglés). Ese diseño de un solo puerto hace más sencilla la configuración del firewall: si puedes conectarte a un servidor por SSH, normalmente también puedes hacerlo por SFTP, aunque un administrador puede mover el servicio a un puerto no estándar. El FTP tradicional necesita el puerto 21 para los comandos, más conexiones separadas para los datos.

SFTP también es más que una herramienta para copiar archivos. Funciona como un sistema de archivos remoto: un cliente puede navegar por las carpetas, transferir archivos en ambas direcciones y administrar lo que ya está en el servidor. El protocolo apareció en 1997 y el grupo de trabajo SECSH del IETF, el mismo que estandarizó SSH-2, lo diseñó desde cero. El borrador del SSH File Transfer Protocol (en inglés) de ese grupo lo define como el protocolo estándar de transferencia de archivos para SSH-2; por eso SFTP comparte nombre con FTP, pero no su funcionamiento.

SFTP vs. FTP vs. FTPS

Los tres nombres se parecen; los protocolos, no:

Comparación de cómo FTP, FTPS y SFTP conectan un cliente con un servidor: FTP usa conexiones de control y de datos separadas y sin cifrar, FTPS envuelve esas mismas conexiones separadas en TLS, y SFTP lleva el inicio de sesión, los comandos y los archivos por una sola conexión SSH cifrada en el puerto 22.
  • SFTP es un protocolo independiente que funciona sobre SSH. Una sola conexión cifrada en el puerto 22 lleva el inicio de sesión, los comandos y los archivos.
  • FTP es el original de 1971. Envía todo, tu contraseña incluida, en texto plano por el puerto 21, más conexiones de datos separadas. Firefox eliminó el soporte de FTP (en inglés) en la versión 90 (julio de 2021) y Chrome lo retiró en la versión 95 ese mismo año.
  • FTPS es el FTP clásico envuelto en cifrado TLS. Protege tus datos, pero conserva las conexiones separadas de control y de datos de FTP, lo que complica la configuración del firewall.

Para el hosting web la decisión es sencilla: usa SFTP siempre que tu proveedor lo ofrezca y no uses el FTP tradicional para nada. SFTP es el sustituto reconocido de FTP por motivos de seguridad, y es lo que los proveedores realmente ofrecen.

Cómo conectarte por SFTP

Necesitas 4 datos, que casi siempre aparecen en el panel de control de tu proveedor: el nombre del servidor (hostname), tu nombre de usuario, una contraseña o una llave SSH, y el puerto (22, salvo que tu proveedor indique otro). Ingrésalos en un cliente como FileZilla o Cyberduck, o ejecuta sftp usuario@hostname en una terminal, y podrás navegar y transferir archivos en el servidor. Si estás decidiendo entre clientes, ya comparamos Cyberduck y FileZilla.

Para un cambio rápido y puntual quizá ni necesites SFTP: con el administrador de archivos que tu proveedor ofrece en el navegador puedes editar un archivo sin instalar nada. SFTP se gana su lugar con las cargas masivas, los archivos grandes y todo lo que quieras automatizar con scripts.

Cuando la conexión SFTP falla

La mayoría de las conexiones fallidas se explican por una de estas 5 causas. Revísalas en orden:

  • Hostname o puerto incorrectos. Confirma ambos en el panel de control de tu proveedor. Un dato mal escrito, o un firewall de red que bloquee el puerto 22, detiene la conexión antes de que empiece el inicio de sesión.
  • Acceso SFTP deshabilitado. Los proveedores pueden restringir SSH o SFTP según el plan o el usuario. Verifica que esté activado para tu cuenta.
  • Contraseña o llave rechazada. Las credenciales de SFTP pueden ser distintas de las que usas en el panel de control, y una llave solo funciona si su parte pública está instalada en el servidor.
  • Errores de permisos después de entrar. La conexión está bien, pero los permisos de archivos del servidor no dejan que tu usuario lea o escriba en esa carpeta. Corrígelos en el servidor, no en tu cliente.
  • Una advertencia de llave de host distinta. Tu cliente recuerda la llave SSH de cada servidor y te avisa si cambia. No aceptes la llave nueva hasta verificar su huella digital (fingerprint) con tu proveedor o administrador: el cambio puede deberse a una migración de rutina, pero también a alguien que se hace pasar por tu servidor.

Preguntas frecuentes

En la mayoría de las cuentas de hosting basta con la contraseña, y así se conecta la mayoría de la gente. La llave SSH es un reemplazo opcional y más seguro de la contraseña, no un paso adicional, y algunos servidores están configurados para aceptar solo llaves.
SCP solo copia archivos entre equipos. SFTP funciona más como un sistema de archivos remoto: puede listar directorios, reanudar transferencias interrumpidas y borrar archivos remotos. Los dos se ejecutan sobre SSH.
Normalmente no. SFTP no tiene una tarifa aparte y existen clientes gratuitos. Pero el acceso depende de tu proveedor de hosting y de tu plan, porque un servidor puede deshabilitar su subsistema SFTP. Revisa tu panel de control o la documentación de tu proveedor antes de dar por hecho que está activo.
Oferta especial

Web Hosting

Nuestros planes de Web Hosting incluyen una interfaz fácil de usar, opciones flexibles que se adaptan a tus necesidades y una garantía de reembolso de 30 días.

Planes de Web Hosting