Cómo instalar servidor FTP Debian 13
En esta guía aprenderás a instalar y configurar un servidor FTP Debian 13 utilizando vsftpd, uno de los servidores FTP más utilizados en Linux gracias a su seguridad, estabilidad y alto rendimiento.
Durante este tutorial veremos cómo:
- Instalar vsftpd en Debian 13.
- Crear usuarios exclusivos para el servicio FTP.
- Configurar el acceso y los permisos.
- Restringir a cada usuario a su directorio personal (chroot).
- Configurar el archivo vsftpd.conf.
- Abrir los puertos necesarios en el firewall.
- Acceder al servidor desde Windows, Linux o macOS mediante FileZilla.
- Transferir archivos de forma sencilla entre clientes y el servidor.
Importante
Este tutorial configura un servidor FTP Debian 13 tradicional (sin cifrado). FTP transmite las credenciales y los archivos en texto plano, por lo que no es recomendable utilizarlo en redes públicas o Internet. Siempre que sea posible, utiliza SFTP o FTPS, que ofrecen conexiones cifradas y mucho más seguras, al igual que configurar un Firewall en el Sistema Operativo.
Requisitos
Antes de comenzar necesitarás:
- Un servidor con Debian 13 instalado.
- Acceso mediante SSH con privilegios de administrador.
- Conexión a Internet para descargar paquetes.
- Firewall configurado (opcional, pero recomendado).
Aunque este procedimiento está orientado a Debian 13, también es compatible con versiones recientes de Debian y otras distribuciones basadas en Debian, RockyLinux, AlmaLinux y Linux Mint.
Actualizar el sistema
Antes de instalar cualquier servicio y nuestro servidor FTP Debian 13, es recomendable actualizar el sistema operativo.
Actualizar la lista de paquetes:
sudo apt update

Actualizar los paquetes instalados:
sudo apt upgrade -y
Mantener el sistema actualizado ayuda a mejorar la estabilidad y la seguridad del servidor.
Instalar vsftpd como servidor FTP Debian 13
sudo apt install vsftpd -y

Comprobar que el servicio quedó instalado correctamente:
sudo systemctl status vsftpd
Si todo es correcto aparecerá el estado:
Active: active (running)
También puedes habilitar el servicio para que inicie automáticamente con el sistema:
sudo systemctl enable vsftpd

Crear un usuario para FTP
Por motivos de seguridad, es recomendable utilizar usuarios dedicados exclusivamente al servicio FTP.
Crear el usuario:
sudo adduser user_ftp
Introduce una contraseña segura y completa los datos solicitados.
Se recomienda utilizar contraseñas de al menos 12 caracteres, combinando letras, números y símbolos.

Autorizar el usuario en vsftpd
Agregar el usuario a la lista de usuarios permitidos:
echo "user_ftp" | sudo tee -a /etc/vsftpd.listausuarios
Crear el directorio de trabajo
Crear el directorio donde el usuario almacenará sus archivos:
sudo mkdir -p /home/user_ftp/ftp
sudo chown user_ftp:user_ftp /home/user_ftp/ftp
Puedes modificar esta estructura según las necesidades de tu organización.

Configurar el firewall
Si utilizas UFW, abre el puerto FTP:
sudo ufw allow 21/tcp
sudo ufw reload
Nota: El puerto 21 corresponde al protocolo FTP. Si posteriormente utilizas SFTP, éste empleará el puerto 22, ya que funciona sobre SSH.
Configurar vsftpd
Editar el archivo de configuración:
sudo nano /etc/vsftpd.conf
Configurar o verificar los siguientes parámetros:
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
userlist_enable=YES
userlist_file=/etc/vsftpd.listausuarios
userlist_deny=NO
Esta configuración permite:
- Deshabilitar el acceso anónimo.
- Permitir únicamente usuarios locales.
- Habilitar la carga y modificación de archivos.
- Restringir cada usuario a su directorio personal.
- Autorizar únicamente los usuarios incluidos en la lista.
Guardar el archivo y salir del editor.


Reiniciar el servicio
Aplicar la nueva configuración:
sudo systemctl restart vsftpd
Verificar nuevamente su funcionamiento:
sudo systemctl status vsftpd

Conectarse mediante FileZilla
Desde cualquier equipo con Windows, Linux o macOS abre FileZilla y crea una nueva conexión con los siguientes datos:
| Parámetro | Valor |
|---|---|
| Protocolo | FTP |
| Servidor | Dirección IP o nombre del servidor Debian 13 |
| Puerto | 21 |
| Cifrado | Usar solo FTP plano (inseguro) |
| Usuario | user_ftp |
| Contraseña | La configurada anteriormente |
Una vez establecida la conexión podrás transferir archivos entre el cliente y el servidor.

Nos advertirá de que vamos a conectarnos a un servicio no seguro (FTP plano):

Pulsaremos «Aceptar» en la ventana de confirmación anterior y realizará la conexión al servidor FTP, mostrándonos la carpeta raíz del usuario (/home/user_ftp). Vemos que no tiene acceso a carpetas inferiores del equipo pero sí a toda su carpeta y subcarpetas /home/user_ftp:

Subiremos un archivo de prueba.

Verificar la transferencia
Después de subir un archivo mediante FileZilla, puedes comprobar desde el servidor que la transferencia se realizó correctamente:
ls -lah /home/user_ftp/ftp

Si el archivo aparece en el listado, la configuración del servidor FTP ha sido completada con éxito.
Recomendaciones de seguridad
El protocolo FTP transmite la información sin cifrar, por lo que solo debería utilizarse en situaciones específicas, como:
- Redes internas aisladas.
- Equipos antiguos (legacy).
- Dispositivos industriales.
- Sistemas que únicamente admiten FTP clásico.
Si el servidor será accesible desde Internet, es altamente recomendable utilizar:
- SFTP (SSH File Transfer Protocol).
- FTPS (FTP sobre TLS/SSL).
Ambos protocolos cifran la autenticación y la transferencia de archivos, proporcionando una mayor protección frente a accesos no autorizados.
Conclusión
Nuestro servidor FTP Debian 13 con vsftpd nos permitirá implementar rápidamente un servidor FTP para compartir archivos dentro de una red local o en entornos controlados. Con una configuración adecuada, usuarios dedicados y permisos restringidos, podrás gestionar el acceso de forma sencilla y eficiente.
Aunque FTP sigue siendo compatible con muchos sistemas heredados, siempre que sea posible es recomendable utilizar SFTP o FTPS, ya que ofrecen conexiones cifradas y un nivel de seguridad muy superior.
