PRO · Protocolo 7 · Aplicación (Aplicación)

38.FTP / SFTP

Protocolos para transferir archivos entre equipos: FTP, el clásico sin cifrar; SFTP y SCP, que viajan protegidos dentro de SSH; y TFTP, el más simple.

¿Qué es?

FTP (File Transfer Protocol) es uno de los protocolos más antiguos de Internet: sirve para subir y descargar archivos de un servidor. SFTP hace lo mismo, pero cifrado, porque viaja dentro de una conexión SSH.

Piensa en FTP como enviar documentos en un sobre transparente: llegan, pero cualquiera en el camino puede leerlos, incluida tu contraseña. SFTP es el mismo envío dentro de una caja cerrada con llave.

En términos técnicos

  • Son protocolos de la capa 7 (Aplicación) sobre TCP (salvo TFTP, que usa UDP).
  • FTP (RFC 959, 1985) usa dos conexiones: una de control (puerto 21) para los comandos y otra de datos para cada archivo o listado.
  • FTPS es FTP con TLS (RFC 4217).
  • SFTP (SSH File Transfer Protocol) no es FTP: es un protocolo distinto que funciona dentro de SSH, en el puerto 22.
  • SCP copia archivos también sobre SSH, de forma más simple.
  • TFTP (Trivial FTP, RFC 1350) usa UDP 69, no tiene usuario ni contraseña y se usa en redes internas para equipos de red y arranque por red (PXE).

¿Dónde lo vas a encontrar?

En el hosting web para subir archivos (FileZilla con SFTP), en los respaldos entre servidores (SCP, rsync sobre SSH), en los routers y switches para guardar configuraciones o cargar el IOS (TFTP, SCP) y en algunos sistemas antiguos que todavía publican archivos por FTP.

¿Cómo funciona?

Comparativa

Protocolo Transporte y puerto Cifrado Autenticación Uso típico
FTP TCP 21 (control) + datos No Usuario y contraseña en claro Sistemas antiguos, laboratorio
FTPS TCP 21 (explícito) o 990 (implícito) TLS Usuario y contraseña, certificados Empresas con FTP heredado
SFTP TCP 22 (SSH) SSH Contraseña o llave Servidores, hosting
SCP TCP 22 (SSH) SSH Contraseña o llave Copias rápidas, equipos de red
TFTP UDP 69 No Ninguna Configuración de equipos de red, PXE, teléfonos IP

FTP activo y pasivo

Modo Quién abre la conexión de datos Problema
Activo El servidor se conecta al cliente (desde su puerto 20) Falla con firewalls y NAT del lado del cliente
Pasivo El cliente se conecta a un puerto alto que le indica el servidor Es el que se usa hoy; el servidor debe abrir un rango de puertos

Una sesión SFTP

$ sftp paco@203.0.113.20
Connected to 203.0.113.20.
sftp> cd /var/www/sitio
sftp> put index.html
Uploading index.html to /var/www/sitio/index.html
sftp> get respaldo.sql
sftp> bye

Y lo mismo con SCP, en una sola línea:

$ scp index.html paco@203.0.113.20:/var/www/sitio/

Configuración (Cisco IOS)

El uso más común en un router es respaldar la configuración y cargar o actualizar el IOS.

Respaldar en un servidor TFTP (laboratorio)

R1# copy running-config tftp:
Address or name of remote host []? 192.168.99.50
Destination filename [r1-confg]? r1-respaldo.cfg

Respaldar por SCP (cifrado)

R1# copy running-config scp://admin@192.168.99.50/respaldos/r1.cfg

Restaurar o cargar un IOS

R1# copy tftp: running-config
R1# copy tftp: flash:
Comando Para qué sirve
copy running-config tftp: Envía la configuración en uso a un servidor TFTP
copy running-config scp://… Lo mismo por SCP, cifrado y con usuario
copy tftp: running-config Combina la configuración descargada con la actual (no la reemplaza por completo)
copy tftp: flash: Descarga una imagen de IOS a la memoria flash
show flash: Revisa que el archivo esté y su tamaño

Verificación y diagnóstico

Comando o herramienta Qué debes ver
sftp -v usuario@servidor El saludo SSH y la autenticación paso a paso
ss -tlnp | grep -E ':21|:22' (Linux) Qué servicio escucha en cada puerto
Test-NetConnection servidor -Port 22 (PowerShell) Que el puerto responda
Wireshark, filtro ftp En FTP sin cifrar se ven los comandos USER y PASS con la contraseña
show flash: (Cisco) El archivo copiado y su tamaño

Para tomar en cuenta

  • Deja FTP para el laboratorio: en servidores reales usa SFTP o SCP.
  • SFTP con llaves en lugar de contraseñas: más cómodo y más seguro (ver la ficha de SSH).
  • TFTP solo en redes internas y de administración: no tiene autenticación, cualquiera que lo alcance puede leer o escribir archivos.
  • Usuarios con permisos mínimos: limita la cuenta de transferencia a su carpeta (en SFTP, con ChrootDirectory).
  • Para muchos archivos o sincronizar, rsync sobre SSH copia solo lo que cambió.
  • Respalda la configuración de los equipos de red después de cada cambio importante.

Material descargable

Aún no hay material descargable para este tema. Pronto habrá cuadernillos, manuales o laboratorios.

Referencias (RFC / estándar)

Antes conviene ver…

© solutions_ · Redes informáticas · 38 FTP / SFTP