En la guía de instalación anterior dejamos nuestro servidor FTP preparado. Ahora toca lo divertido: conectarnos desde un equipo cliente usando usuarios locales y el usuario anonymous. Veremos 4 métodos distintos (Nautilus, FileZilla, navegador web y terminal) para que elijas el que más cómodo te resulte.
¿Qué vamos a conseguir?
- Verificar que el servidor FTP responde correctamente.
- Conectarnos al servidor por 4 métodos distintos: Nautilus, FileZilla, navegador y terminal.
- Conectar tanto con el usuario
anonymouscomo con un usuario local del servidor. - Conocer los errores típicos del protocolo FTP y cómo resolverlos.
Prerrequisitos
- Un servidor FTP funcionando (si lo instalaste con
vsftpd, perfecto). - La IP del servidor y un usuario local con su contraseña.
- Un equipo cliente con los clientes instalados:
nautilus,filezillayftp/lftp.
Instala los clientes en Debian/Ubuntu:
sudo apt install nautilus filezilla ftp lftp
Repaso rápido: servidor FTP con vsftpd
En el servidor, arranca y comprueba el servicio:
sudo systemctl enable --now vsftpd
sudo systemctl status vsftpd
ss -tlnp | grep :21 # el FTP escucha en el puerto 21
Si quieres activar el acceso anonymous (descarga pública de ficheros), edita /etc/vsftpd.conf:
anonymous_enable=YES
anon_root=/srv/ftp
Y reinicia: sudo systemctl restart vsftpd.
Seguridad: el FTP tradicional envía la contraseña en claro. Para datos sensibles usa
FTPS(implicit/explicit) oSFTP(sobre SSH). Ver vsftpd docs.
Opción Docker: servidor FTP de prueba en 1 minuto
Puedes practicar todo el artículo contra un contenedor sin tocar tu sistema:
docker run -d --name ftp-lab -p 21:21 -p 21000-21010:21000-21010 \
-e FTP_USER=jorge -e FTP_PASS=secreto \
-e PASV_MIN_PORT=21000 -e PASV_MAX_PORT=21010 \
fauria/vsftpd
21es el puerto de control y21000-21010los puertos de datos del modo pasivo.- El usuario
jorgequeda creado de fábrica; puedes añadir más en/home/vsftpd.
Fuente: fauria/vsftpd en Docker Hub.
Las 4 formas de conectarte
Forma 1 — Nautilus (gestor de archivos de GNOME)
El gestor de archivos de GNOME soporta FTP nativo:
- Abre Nautilus (
nautilusen la terminal). - Pulsa
Ctrl + Lpara mostrar la barra de direcciones. - Escribe
ftp://192.168.101.1/y pulsa Enter. - Introduce tu usuario y contraseña (o elige Conectar como usuario anónimo).
Verás la carpeta remota como una carpeta local más: puedes arrastrar archivos para subirlos y copiar los del servidor para bajarlos.
Forma 2 — FileZilla (cliente gráfico multiplataforma)
El cliente gráfico más popular y multiplataforma:
- Abre FileZilla.
- En los campos superiores rellena:
- Servidor:
192.168.101.1 - Nombre de usuario: tu usuario local o
anonymous - Contraseña: la del usuario (anónimo la dejas vacía)
- Puerto:
21
- Servidor:
- Pulsa Conexión rápida.
El panel izquierdo es tu equipo local y el derecho el servidor FTP. Sube archivos con clic derecho → Subir o arrastrándolos. Para conectar siempre igual, guarda el sitio en Archivo → Administrador de sitios. Descárgalo en filezilla-project.org.
Forma 3 — Navegador web
Cualquier navegador moderno puede leer un FTP (aunque Chrome ya no lo soporta; Firefox y Edge sí). Escribe en la barra de direcciones:
ftp://192.168.101.1
Para conectar con un usuario explícito inclúyelo en la URL:
ftp://jorge@192.168.101.1
El navegador preguntará la contraseña y mostrará el contenido del directorio como un listado clicable para descargar archivos. Sirve para consultas rápidas, no tanto para subir.
Forma 4 — Terminal con lftp
Los puristas y los administradores de sistemas usamos lftp (muy completo). Conéctalte:
lftp jorge@192.168.101.1
O como anónimo:
lftp anonymous@192.168.101.1
Dentro de lftp puedes navegar con los comandos típicos:
ls # listar el directorio remoto
cd public_html # cambiar de carpeta remota
lcd ~/Descargas # cambiar de carpeta local
put index.html # subir un archivo
get informe.pdf # descargar un archivo
mirror public_html # sincronizar una carpeta completa
exit # salir
Con el cliente clásico ftp es similar (aunque con menos opciones y sin mirror):
ftp jorge@192.168.101.1
Comprobar que todo funciona
- Modo gráfico: tras autenticarte ves el listado de archivos y puedes descargar/si tienes permisos, subir.
- Terminal: dentro de
lftp,lsmuestra el directorio ypwdtu ubicación remota. - Permisos: si no puedes subir archivos, revisa que el usuario tiene permiso de escritura en el directorio destino (
ls -laen el servidor).
Errores comunes
| Error | Causa | Solución |
|---|---|---|
530 Login incorrect | Usuario o contraseña incorrectos | Revisa credenciales; con anonymous usa el email como contraseña o déjala vacía |
500 OOPS: vsftpd: refusing to run with writable root | El directorio raíz del usuario es escribible | chmod 755 /home/jorge o configura local_root en vsftpd |
227 Entering Passive Mode... connection timed out | Cortafuegos bloqueando puertos de datos | Abre 21000-21010/tcp en el firewall y configura pasv_min_port/pasv_max_port |
Connection refused | El servicio no está corriendo | sudo systemctl restart vsftpd y comprueba ss -tlnp | grep :21 |
| El navegador/pc no lista nada | FTP pasivo bloqueado por el proxy | Usa FileZilla o la terminal con modo pasivo forzado |
Siguiente nivel
- Activa FTPS/SFTP para cifrar las conexiones y no mandar contraseñas en claro.
- Limita el acceso con
chroot_local_user=YESpara que cada usuario solo vea su propia carpeta. - Automatiza subidas con
lftp -e "mirror ...; exit"en un cron o GitHub Action. - Redes relacionadas: conexiones remotas seguras en Conexión mediante clave pública privada y Formas de conectarse por SSH.
