Para crear un servidor FTP instalas un software de servidor en tu equipo (FileZilla Server en Windows o vsftpd en Linux), creas usuarios con contraseña, defines las carpetas que compartes y abres el puerto 21 en el firewall. Si quieres acceder desde fuera de tu red, rediriges ese puerto en el router. En menos de media hora tienes tu propio sistema para subir y descargar archivos entre ordenadores y móviles.

Lo esencial: instala FileZilla Server (Windows) o vsftpd (Linux), crea un usuario con su carpeta, abre el puerto 21 en el firewall y conéctate con un cliente FTP. Para que sea seguro, activa FTPS o SFTP en lugar del FTP plano.

Cómo crear un servidor FTP en Windows

La vía más rápida y gratuita en Windows es FileZilla Server. Sigue estos pasos:

  1. Descarga e instala FileZilla Server desde su sitio oficial. Durante la instalación deja el puerto de administración por defecto (14147), que solo se usa para gestionar el servidor en local.
  2. Abre la interfaz de administración y conéctate al servidor local con la contraseña que definiste al instalar.
  3. Crea un usuario. Ve a Server → Configure → Users, añade un usuario nuevo y asígnale una contraseña fuerte. Evita usuarios sin contraseña o anónimos.
  4. Asigna una carpeta y sus permisos. En Mount points elige la carpeta que quieres compartir y marca qué puede hacer el usuario: solo lectura, o lectura y escritura (subir, modificar, borrar).
  5. Configura el cifrado. En la sección de FTP and FTP over TLS activa FTPS (FTP sobre TLS) para que las contraseñas y los archivos viajen cifrados.

Con esto ya puedes conectarte desde el mismo equipo o desde otro de tu red local usando la IP del servidor.

Abrir los puertos en el firewall de Windows

Para que otros equipos lleguen al servidor necesitas permitir el tráfico en el cortafuegos:

  • Abre Firewall de Windows Defender → Configuración avanzada → Reglas de entrada → Nueva regla.
  • Crea una regla de tipo Puerto y permite el puerto 21 (control FTP).
  • Añade también el rango de puertos pasivos que hayas definido en FileZilla Server (por ejemplo 50000-51000). El modo pasivo es el que usan casi todos los clientes modernos, así que sin estos puertos las conexiones fallan.

Acceso desde fuera de tu red

Si quieres entrar al servidor desde Internet, abre el panel de tu router y redirige el puerto 21 (y el rango pasivo) hacia la IP local del equipo servidor. Como la IP pública suele cambiar, conviene usar un servicio de DNS dinámico (No-IP, DuckDNS) para tener siempre una dirección estable. Para repasar conceptos de red puede ayudarte la guía sobre cómo crear un punto de acceso WiFi en Windows.

Cómo crear un servidor FTP en Linux

En Linux el estándar más usado es vsftpd (Very Secure FTP Daemon), ligero y fiable. Los comandos sirven para Ubuntu, Debian y derivados.

Instalar vsftpd

Abre una terminal y ejecuta:

sudo apt update && sudo apt install vsftpd

Configurar el servidor

Edita el archivo de configuración:

sudo nano /etc/vsftpd.conf

Ajusta estas líneas (quita el # si están comentadas):

OpciónValorPara qué sirve
anonymous_enableNOBloquea el acceso anónimo
local_enableYESPermite entrar con usuarios del sistema
write_enableYESHabilita subir y modificar archivos
chroot_local_userYESEncierra a cada usuario en su carpeta

Guarda los cambios y reinicia el servicio:

sudo systemctl restart vsftpd

Crear el usuario FTP

Crea una cuenta dedicada para no exponer tu usuario principal:

sudo adduser usuarioftp

Asigna una contraseña fuerte cuando te la pida. Ese usuario podrá conectarse a su carpeta personal en /home/usuarioftp.

Abrir el puerto en el firewall

Si usas el cortafuegos UFW, permite el puerto 21 y el rango pasivo:

sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp

Define ese mismo rango en vsftpd.conf con pasv_min_port y pasv_max_port para que coincida.

FTP, FTPS o SFTP: cuál elegir

No todos los protocolos protegen tus datos igual. El FTP clásico envía las contraseñas y los archivos sin cifrar, así que solo es aceptable en una red local cerrada. Para cualquier acceso por Internet, usa una variante cifrada:

ProtocoloCifradoPuerto típicoCuándo usarlo
FTPNo21Solo en red local de confianza
FTPSSí (TLS sobre FTP)21 / 990Cuando tu software FTP ya lo soporta
SFTPSí (sobre SSH)22La opción más segura y simple si tienes SSH

Un detalle importante: SFTP no es FTP cifrado, sino transferencia de archivos sobre SSH. En Linux ya viene incluido al instalar el servidor SSH, por lo que muchas veces es la forma más rápida y segura de compartir archivos sin montar nada extra.

Comparativa de software para servidor FTP

Estas son las opciones más usadas para montar un servidor FTP según tu sistema:

SoftwareSistemaGratuitoFTPS / SFTPNivel
FileZilla ServerWindowsFTPSMuy fácil
vsftpdLinuxFTPSIntermedio
ProFTPDLinuxFTPS / SFTPAvanzado
Pure-FTPdLinuxFTPS / SFTPIntermedio
Serv-UWindows / LinuxNoFTPS / SFTPFácil

Consejos de seguridad

Un servidor FTP mal configurado deja tus archivos expuestos. Aplica estas medidas básicas:

  • Activa FTPS o SFTP y desactiva el FTP plano siempre que abras el servidor a Internet.
  • Desactiva el acceso anónimo salvo que de verdad lo necesites para descargas públicas.
  • Usa contraseñas largas y únicas para cada cuenta; te puede ayudar saber cómo crear una contraseña segura.
  • Limita los intentos de login y, si puedes, restringe el acceso a IPs de confianza para frenar ataques de fuerza bruta.
  • Encierra a cada usuario en su carpeta (chroot) para que no pueda ver el resto del sistema.
  • Mantén el software actualizado y revisa los logs de acceso de vez en cuando.

Acceder a tu servidor FTP desde otros dispositivos

Para conectarte necesitas un cliente FTP. El proceso es el mismo en casi todos:

  1. Introduce la dirección IP o el dominio del servidor.
  2. Escribe el usuario y la contraseña que creaste.
  3. Indica el puerto: 21 para FTP, 990 para FTPS implícito o 22 para SFTP.
  4. Conéctate y arrastra los archivos entre tu equipo y el servidor.

Clientes recomendados según el dispositivo:

  • FileZilla Client (Windows, Mac y Linux), el más extendido.
  • WinSCP (Windows), muy cómodo para SFTP.
  • Cyberduck (Windows y Mac).
  • AndFTP o FTPClient en Android.

Si tu objetivo es algo más amplio que mover archivos, quizá te interese montar una página web con un servidor local o incluso un servidor VPN para acceder a toda tu red de forma cifrada.

Preguntas frecuentes

¿Es seguro usar FTP para transferir archivos?

El FTP clásico no cifra nada, así que cualquiera en la misma red podría capturar tu usuario y contraseña. En una red local cerrada puede valer, pero para acceso por Internet usa siempre FTPS o SFTP, que cifran tanto las credenciales como los archivos.

¿Puedo crear un servidor FTP en una Raspberry Pi?

Sí, y es una opción excelente. La Raspberry Pi corre Linux, así que sigues los mismos pasos que con vsftpd. Su bajo consumo la hace ideal como servidor doméstico encendido las 24 horas sin disparar la factura de la luz.

¿Cómo accedo a mi servidor FTP desde fuera de casa?

Tienes que redirigir el puerto 21 (y el rango pasivo) en tu router hacia la IP local del servidor. Luego te conectas usando la IP pública de tu conexión o, mejor, un nombre de DNS dinámico que no cambie aunque tu IP sí lo haga.

¿Cuántos usuarios pueden conectarse a la vez?

Depende del software y de la potencia del equipo. La mayoría de servidores permite limitar las conexiones simultáneas por usuario y en total, algo recomendable para no saturar la red ni el hardware si comparten muchas personas.

¿Qué alternativas hay al FTP para compartir archivos?

Para uso doméstico están las carpetas compartidas en red (SMB en Windows, NFS en Linux). Para sincronización y acceso remoto cómodo, herramientas como Nextcloud o Syncthing. Y si solo quieres transferencias seguras puntuales, SFTP sobre SSH suele bastar sin instalar un servidor FTP completo.

Guía revisada por comocrearun.org

Explicamos cada paso de forma clara y la actualizamos cuando algo cambia.