0Pricing
Cryptology Academy · Lección

SFTP y SCP: transferencia segura de archivos

Compare SFTP y SCP con el FTP inseguro y comprenda las protecciones criptográficas que proporcionan.

SFTP y SCP: transferencia segura de archivos es una lección gratuita de Cryptology Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cryptology Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cryptology Academy incluye 4 lecciones en total.

SFTP es un subsistema de SSH, no FTP

A pesar de su nombre, SFTP (SSH File Transfer Protocol) no tiene nada que ver con FTP. Es un protocolo binario diseñado para ejecutarse como un subsistema de SSH-2, lo que significa que funciona sobre una conexión SSH autenticada y cifrada ya existente. El cliente SSH invoca el subsistema SFTP en el servidor con el comando ssh user@host -s sftp. Todas las operaciones de SFTP heredan las garantías de seguridad del transporte SSH subyacente.

Capacidades de SFTP

SFTP proporciona un amplio conjunto de operaciones de archivos a través del canal cifrado: listar el contenido de directorios, cargar archivos, descargar archivos, eliminar y cambiar el nombre de archivos, crear y eliminar directorios, leer y establecer permisos y marcas de tiempo de archivos, y reanudar transferencias interrumpidas. Estas capacidades hacen de SFTP una interfaz completa para sistemas de archivos remotos, no solo una herramienta de transferencia de archivos.

SCP: copia de archivos sencilla mediante SSH

SCP (Secure Copy Protocol) es un protocolo más antiguo y sencillo para transferir archivos mediante SSH. El comando scp file.txt user@host:/path copia un archivo de forma segura. SCP es más sencillo de utilizar que SFTP para transferencias puntuales, pero solo admite un subconjunto de operaciones: copiar de local a remoto, de remoto a local o de remoto a remoto. No tiene modo interactivo y ofrece compatibilidad limitada para reanudar transferencias interrumpidas.

Vulnerabilidades del protocolo SCP

El protocolo SCP original tenía una vulnerabilidad significativa: un servidor malicioso podía enviar archivos arbitrarios al cliente, independientemente de lo que este hubiera solicitado. Un atacante que controlara el servidor podía sobrescribir archivos fuera del directorio de destino previsto. OpenSSH dejó obsoleto el protocolo SCP heredado en favor de scp basado en SFTP en OpenSSH 9.0 (2022). Los comandos scp modernos utilizan SFTP internamente, lo que elimina esta clase de ataque y conserva la sintaxis de comando conocida.

FTP frente a FTPS frente a SFTP

Es habitual confundir tres opciones de transferencia segura de archivos. FTP (puerto 21) no está cifrado y no debería utilizarse. FTPS (FTP sobre SSL) añade TLS a FTP en el puerto 990 (implícito) o en el puerto 21 (explícito con AUTH TLS), y requiere la infraestructura de FTP además de la gestión de certificados. SFTP es un protocolo completamente independiente que funciona sobre SSH (puerto 22) y reutiliza la autenticación y la gestión de claves existentes de SSH. Por lo general, SFTP es más sencillo de configurar y mantener que FTPS.

rsync mediante SSH para una sincronización eficiente

rsync es una herramienta de sincronización de archivos que transfiere solo las partes modificadas de los archivos, por lo que resulta mucho más eficiente que SCP para las copias de seguridad incrementales. Ejecutar rsync con la opción -e ssh dirige todos los datos a través de un túnel SSH. El comando rsync -avz -e ssh user@host:/remote/ /local/ sincroniza un directorio remoto con uno local y transfiere solo los deltas. rsync sobre SSH es el método estándar para las copias de seguridad de servidores y los flujos de trabajo de despliegue.

Gestión de transferencias de archivos grandes

SFTP admite transferencias reanudables: si se interrumpe una conexión durante una carga grande, la transferencia puede reanudarse desde el último byte confirmado en lugar de reiniciarse desde cero. El cliente sftp de OpenSSH admite el comando reput para reanudar cargas y reget para reanudar descargas. Para transferencias muy grandes (archivos de varios gigabytes), herramientas como lftp ofrecen una gestión más sólida de las transferencias, con reintentos automáticos y limitación del ancho de banda.

Jaulas chroot de SFTP para acceso restringido

El servidor OpenSSH puede restringir a los usuarios de SFTP a un árbol de directorios específico mediante una jaula chroot. Agregar la directiva Match User con ChrootDirectory y ForceCommand internal-sftp a la configuración de SSH crea un entorno SFTP aislado. El usuario puede cargar y descargar archivos dentro del directorio que tiene asignado, pero no puede acceder al resto del sistema de archivos ni ejecutar comandos de shell. Este método se utiliza ampliamente para la gestión de archivos en alojamientos web y portales de carga de archivos para clientes.

Configuración de un servidor SFTP

Habilitar SFTP en un servidor OpenSSH requiere agregar Subsystem sftp /usr/lib/openssh/sftp-server a sshd_config. El binario sftp-server gestiona todas las operaciones del protocolo SFTP. En las configuraciones con chroot, ChrootDirectory debe pertenecer a root y no debe tener permisos de escritura para ningún otro usuario, una fuente habitual de errores de configuración. Probar la configuración con sshd -t comprueba la sintaxis antes de volver a cargar el servicio.

SFTP en flujos de trabajo de copias de seguridad automatizadas

SFTP se integra bien con las canalizaciones de copias de seguridad automatizadas. Un servidor de copias de seguridad utiliza autenticación mediante clave pública para conectarse sin contraseñas, lo que permite transferencias programadas con cron sin intervención humana. El usuario de copias de seguridad está restringido mediante chroot al directorio de carga, lo que limita los daños si el servidor de copias de seguridad se ve comprometido. Supervisar los registros en busca de fallos de conexión de SFTP y errores de transferencia proporciona una alerta temprana sobre problemas de las copias de seguridad antes de que afecten a la capacidad de recuperación.

Herramientas de cliente SFTP

Además del cliente sftp de línea de comandos, herramientas gráficas como FileZilla, Cyberduck y WinSCP admiten SFTP mediante interfaces de arrastrar y soltar, administración de marcadores y vistas de directorios en paralelo. Estas herramientas son populares entre desarrolladores y administradores que prefieren flujos de trabajo con interfaz gráfica. Todas utilizan el mismo protocolo SFTP subyacente y la autenticación SSH, incluida la compatibilidad con archivos de claves SSH y el agente SSH del sistema.

SFTP frente a SCP

¿Cuál era la principal vulnerabilidad de seguridad del protocolo SCP heredado que llevó a OpenSSH a reemplazarlo por una implementación basada en SFTP?

SFTP y SCP: conclusiones clave

SFTP es un subsistema de SSH, no está relacionado con FTP. Proporciona operaciones completas sobre sistemas de archivos remotos mediante SSH cifrado. SCP es más sencillo, pero el protocolo heredado tenía una vulnerabilidad de recorrido de rutas en el servidor, corregida en OpenSSH 9.0 al cambiar internamente a SFTP. FTPS añade TLS a FTP, mientras que SFTP se basa completamente en SSH. rsync mediante SSH proporciona una sincronización incremental eficiente. Las jaulas chroot restringen a los usuarios de SFTP a directorios designados.

Preguntas frecuentes

¿La lección «SFTP y SCP: transferencia segura de archivos» es gratis?

Sí — el texto completo de «SFTP y SCP: transferencia segura de archivos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cryptology Academy, actualiza a CoddyKit PRO. El curso de Cryptology Academy incluye 4 lecciones en total.

¿Qué aprenderé en «SFTP y SCP: transferencia segura de archivos»?

Compare SFTP y SCP con el FTP inseguro y comprenda las protecciones criptográficas que proporcionan. Practicas Cryptology Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Cryptology Academy?

No se requiere experiencia previa. Cryptology Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «SFTP y SCP: transferencia segura de archivos»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Cryptology Academy?

Sí. Cada lección de Cryptology Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Qué hace seguro a un protocolo
  2. SSH: protección del acceso remoto
  3. SFTP y SCP: transferencia segura de archivos
  4. DNSSEC: autenticación de respuestas DNS
← Volver a Cryptology Academy