Cómo crear un servidor FTP paso a paso
Monta tu propio servidor FTP: FileZilla Server en Windows o vsftpd en Linux, usuarios y permisos, abrir puertos y por qué conviene usar FTPS o SFTP.
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:
- 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.
- Abre la interfaz de administración y conéctate al servidor local con la contraseña que definiste al instalar.
- 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.
- 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).
- 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ón | Valor | Para qué sirve |
|---|---|---|
anonymous_enable | NO | Bloquea el acceso anónimo |
local_enable | YES | Permite entrar con usuarios del sistema |
write_enable | YES | Habilita subir y modificar archivos |
chroot_local_user | YES | Encierra 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:
| Protocolo | Cifrado | Puerto típico | Cuándo usarlo |
|---|---|---|---|
| FTP | No | 21 | Solo en red local de confianza |
| FTPS | Sí (TLS sobre FTP) | 21 / 990 | Cuando tu software FTP ya lo soporta |
| SFTP | Sí (sobre SSH) | 22 | La 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:
| Software | Sistema | Gratuito | FTPS / SFTP | Nivel |
|---|---|---|---|---|
| FileZilla Server | Windows | Sí | FTPS | Muy fácil |
| vsftpd | Linux | Sí | FTPS | Intermedio |
| ProFTPD | Linux | Sí | FTPS / SFTP | Avanzado |
| Pure-FTPd | Linux | Sí | FTPS / SFTP | Intermedio |
| Serv-U | Windows / Linux | No | FTPS / SFTP | Fá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:
- Introduce la dirección IP o el dominio del servidor.
- Escribe el usuario y la contraseña que creaste.
- Indica el puerto: 21 para FTP, 990 para FTPS implícito o 22 para SFTP.
- 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.