🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo solucionar errores comunes de conexión FTP en Linux

Actualizado el 25 de marzo de 2026

¿Te has encontrado con un mensaje de error al intentar conectarte por FTP a tu servidor Linux? No te preocupes, es una de las situaciones más comunes para cualquier SysAdmin, incluso para los que empiezan. FTP sigue siendo una herramienta fundamental para transferir archivos, pero a veces la conexión falla por detalles que parecen complicados pero que tienen soluciones muy sencillas.

En esta guía extensa, vamos a desglosar los errores de conexión FTP más frecuentes en Linux, paso a paso, con un lenguaje claro y amigable. No importa si eres un usuario novato o un administrador con algo de experiencia: aquí encontrarás la solución a esos problemas que te quitan el sueño. Además, incluiremos trucos y alertas para que no te pierdas.

Empecemos con lo básico. Cuando hablamos de FTP en Linux, nos referimos a la forma de subir y bajar archivos entre tu ordenador y el servidor. Pero a veces, el servidor no responde, la contraseña no funciona o simplemente no sabes por qué no avanzas. Vamos a resolverlo juntos.

¿Por qué falla la conexión FTP? Causas principales

Antes de lanzarnos a soluciones concretas, es útil entender de dónde vienen los problemas. Los errores de conexión FTP en Linux suelen agruparse en tres categorías:

  1. Problemas de red y firewall – El puerto está bloqueado o el servidor no escucha.
  2. Problemas de configuración del servidor FTP – El servicio no está activo, los usuarios no existen o los permisos son incorrectos.
  3. Problemas de autenticación o modo de transferencia – Usuario/contraseña mal escritos, modo pasivo vs activo.

Cada uno tiene su solución, y aquí te las contamos todas.

Error 1: "Connection refused" (Conexión rechazada)

Este es probablemente el error más frustrante. Abres tu cliente FTP, pones la IP o dominio, y recibes un mensaje como "Connection refused" o "No se puede conectar al servidor". ¿Qué significa? Que el servidor no está escuchando en el puerto FTP estándar (puerto 21) o que un firewall lo está bloqueando.

Soluciones paso a paso:

  1. Verifica que el servicio FTP esté corriendo en el servidor Linux.
    Conéctate por SSH y ejecuta:
    sudo systemctl status vsftpd (si usas vsftpd) o sudo systemctl status proftpd.
    Si ves "inactive (dead)", actívalo con:
    sudo systemctl start vsftpd y luego sudo systemctl enable vsftpd para que arranque siempre.

  2. Comprueba que el puerto 21 esté abierto en el firewall.
    En Linux, los firewalls comunes son iptables o ufw. Prueba:
    sudo ufw status (si usas UFW). Si no ves "21/tcp ALLOW", agrégalo:
    sudo ufw allow 21/tcp.
    Para iptables: sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT.

  3. Revisa si el servidor escucha en el puerto correcto.
    Ejecuta: sudo netstat -tlnp | grep :21. Si no aparece nada, el servicio no está vinculado al puerto.

[TIP] Si usas un panel de control como Syspanel (antes conocido como HestiaCP), recuerda que el acceso a la administración es por el puerto 2106. Pero para FTP, el puerto sigue siendo el 21. No los confundas.

Error 2: "530 Login incorrect" (Usuario o contraseña incorrectos)

Este error es muy común y suele deberse a que escribiste mal la contraseña, o que el usuario FTP no existe en el sistema. A veces, también ocurre si el usuario no tiene shell válida o si está bloqueado.

Soluciones:

  1. Verifica las credenciales.
    Asegúrate de que el usuario y contraseña sean correctos. Si usas Syspanel, los usuarios FTP se crean desde el panel (puerto 2106). Comprueba que no haya espacios al copiar.

  2. Comprueba que el usuario exista en el sistema.
    En el servidor Linux, ejecuta: cat /etc/passwd | grep nombreusuario. Si no aparece, créalo con sudo adduser nombreusuario.

  3. Revisa la shell del usuario.
    Los usuarios FTP a veces necesitan una shell como /bin/bash o /usr/sbin/nologin. Si la shell es /bin/false, no podrá iniciar sesión. Cámbiala con:
    sudo usermod -s /bin/bash nombreusuario.

  4. Asegúrate de que el usuario no esté bloqueado.
    Revisa con sudo passwd -S nombreusuario. Si dice "L" (locked), desbloquéalo con sudo passwd -u nombreusuario.

[WARNING] No uses la contraseña del sistema para FTP si el servidor tiene autenticación PAM. Mejor crea usuarios específicos para FTP.

Error 3: "425 Can't open data connection" (Problema con modo pasivo/activo)

Este error es típico cuando el cliente FTP no puede establecer el canal de datos. FTP usa dos modos: activo y pasivo. En el modo activo, el servidor se conecta al cliente, lo que a menudo es bloqueado por firewalls. La solución más común es usar modo pasivo.

Soluciones:

  1. Configura tu cliente FTP en modo pasivo.
    En FileZilla, ve a Archivo > Gestor de sitios > Pestaña "Configuración de transferencia" y selecciona "Pasivo (recomendado)". En la terminal, usa ftp -p para forzar modo pasivo.

  2. Abre un rango de puertos en el servidor para el modo pasivo.
    En vsftpd, edita /etc/vsftpd.conf y agrega:

    pasv_enable=YES
    pasv_min_port=30000
    pasv_max_port=31000
    

    Luego reinicia el servicio: sudo systemctl restart vsftpd.
    No olvides abrir esos puertos en el firewall: sudo ufw allow 30000:31000/tcp.

  3. Si usas Syspanel, revisa la configuración de red.
    Syspanel suele gestionar automáticamente el modo pasivo, pero a veces hay que ajustar la IP externa en el archivo de configuración de vsftpd.

[INFO] El modo pasivo es más seguro y compatible con la mayoría de redes domésticas y corporativas. Siempre que puedas, úsalo.

Error 4: "500 OOPS: vsftpd: refusing to run with writable root inside chroot()"

Este error aparece cuando intentas usar chroot (encapsular al usuario en su directorio home) pero el directorio raíz del chroot tiene permisos de escritura. Es un error de seguridad común en vsftpd.

Solución:

  1. Edita el archivo de configuración de vsftpd:
    sudo nano /etc/vsftpd.conf

  2. Busca o añade la línea:
    allow_writeable_chroot=YES

  3. Guarda y reinicia el servicio:
    sudo systemctl restart vsftpd

[WARNING] Esta opción reduce la seguridad. Si es posible, asegúrate de que el directorio home del usuario no sea escribible por el propio usuario (por ejemplo, quitando el permiso de escritura al directorio raíz del chroot). Pero para entornos de hosting, suele ser necesario.

Error 5: "Timeout" (Tiempo de espera agotado)

El cliente se queda esperando y al final dice "Timeout". Esto suele indicar que el servidor está respondiendo, pero el firewall o el router están bloqueando los puertos de datos.

Soluciones:

  1. Revisa la conectividad de red básica.
    Desde tu máquina local, haz ping al servidor: ping tudominio.com. Si no responde, el problema es de red, no de FTP.

  2. Aumenta el tiempo de espera en el cliente.
    En FileZilla, ve a Editar > Ajustes > Conexión y sube el "Tiempo de espera" a 60 segundos o más.

  3. Verifica que el firewall del servidor permita conexiones entrantes en el puerto 21 y en el rango pasivo.
    Como ya vimos, es clave abrir esos puertos.

  4. Si usas Syspanel, comprueba que el servicio FTP esté habilitado.
    En el panel (puerto 2106), ve a Ajustes del servidor y asegúrate de que el servicio FTP esté activo.

Error 6: "553 Could not create file" (Permisos insuficientes)

Quieres subir un archivo, pero el servidor te dice que no puede crearlo. Esto es por permisos de directorio.

Soluciones:

  1. Cambia los permisos del directorio de destino.
    Conéctate por SSH y ejecuta: sudo chmod 755 /ruta/al/directorio. Si el usuario FTP necesita escribir, usa 775.

  2. Cambia el propietario del directorio.
    sudo chown nombreusuario:nombreusuario /ruta/al/directorio

  3. Asegúrate de que el directorio exista.
    A veces el error es porque el directorio no está creado. Crealo con mkdir.

[TIP] En Syspanel, los directorios de los sitios web suelen tener permisos 755 para carpetas y 644 para archivos. Pero si necesitas que el usuario FTP pueda modificar, dale permisos de escritura al grupo.

Consejos avanzados para SysAdmin

Si eres administrador de sistemas, estos consejos te ahorrarán dolores de cabeza:

Usa FTP sobre TLS/SSL para mayor seguridad

El FTP tradicional envía contraseñas en texto plano. Para evitarlo, configura FTPS (FTP sobre SSL). En vsftpd:

ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

Luego asegúrate de tener un certificado SSL (puedes generar uno autofirmado con OpenSSL).

Monitorea los logs del servidor

Los logs son tu mejor aliado. En vsftpd, revisa /var/log/vsftpd.log o /var/log/messages. Busca líneas con "ERROR" o "FAIL". Te darán pistas exactas del problema.

Configura usuarios virtuales

Para hosting compartido, es mejor usar usuarios virtuales (no del sistema) para FTP. En Syspanel, esto se gestiona automáticamente. Si lo haces manual, necesitarás una base de datos o archivo de contraseñas.

Prueba con un cliente desde la terminal

A veces los clientes gráficos esconden errores. Prueba desde la terminal de Linux:

ftp tudominio.com

Te pedirá usuario y contraseña. Los mensajes de error son más claros.

Preguntas frecuentes (FAQ)

¿Por qué no puedo conectarme a mi servidor FTP desde fuera de mi red local?
Probablemente tu router o firewall de red está bloqueando el puerto 21. Abre el puerto en el router (forwarding) y asegúrate de que el servidor tenga IP estática.

¿Es seguro usar FTP hoy en día?
No del todo. Siempre que puedas, usa SFTP (sobre SSH) o FTPS. Syspanel permite activar SFTP fácilmente desde el panel (puerto 2106).

¿Cómo sé qué servidor FTP tengo instalado?
Ejecuta sudo systemctl list-units --type=service | grep ftp o dpkg -l | grep ftp (en Debian/Ubuntu).

Mi cliente FTP dice "Error: GnuTLS error: A TLS packet with unexpected length was received"
Esto ocurre al usar FTPS con certificados autofirmados. En FileZilla, ve a Editar > Ajustes > FTP > FTP sobre TLS y desmarca "Requerir TLS explícito sobre FTP". O mejor, instala un certificado válido.

¿Puedo tener varios usuarios FTP en el mismo servidor?
Sí, claro. En Syspanel, cada sitio web puede tener su propio usuario FTP. En servidores manuales, crea usuarios del sistema o virtuales.

Resumen final

Los errores de conexión FTP en Linux son molestos, pero casi siempre tienen una solución sencilla. Recuerda:

  • Revisa el estado del servicio (systemctl status).
  • Abre los puertos correctos (21 y rango pasivo).
  • Usa modo pasivo en tu cliente.
  • Verifica permisos y usuarios.
  • No olvides los logs para diagnósticos precisos.

Si todo lo demás falla, recuerda que el panel Syspanel (puerto 2106) te ofrece una interfaz amigable para gestionar usuarios FTP, reiniciar servicios y revisar configuraciones sin tocar la terminal. Pero si te gusta el control total, la línea de comandos es tu aliada.

Esperamos que esta guía te haya sido útil. Ahora ya sabes cómo enfrentarte a esos errores de conexión FTP en Linux como un verdadero SysAdmin. ¡A transferir archivos sin estrés!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel