Servidor FTP · 5 min read · Sep 23, 2025
Cómo instalar el servidor FTP vsftpd y asegurar con TLS en Debian 11

El Protocolo de Transferencia de Archivos o FTP es un protocolo de red muy antiguo y uno de los más conocidos. No es seguro en comparación con SFTP o SCP en estos días, pero sigue siendo la primera opción de muchos usuarios para transferir archivos entre un servidor y un cliente. FTP se considera inseguro porque transfiere datos junto con las credenciales del usuario sin ningún tipo de cifrado.
Hoy en día, tenemos una amplia gama de servidores FTP de código abierto disponibles como FTPD, VSFTPD, PROFTPD y pureftpd. Entre todos ellos, VSFTPD es un protocolo muy seguro, rápido y el más utilizado para transferir archivos entre dos sistemas.
VSFTPD también es conocido como “Very Secure File Transfer Protocol Daemon” con soporte de SSL, IPv6, FTPS explícito e implícito.
En esta guía, te mostraremos cómo instalar el servidor FTP vsftpd en Debian 11.
Requisitos previos
Un servidor que ejecute Debian 11. Un usuario no root con privilegios de sudo.
1. Instalar Vsftpd
Antes de comenzar la instalación, actualiza tu servidor Debian 11 ejecutando el siguiente comando en la terminal:
sudo apt update -y
sudo apt upgrade -yDebian tiene un repositorio muy grande y el paquete vsftpd está disponible en el repositorio oficial, así que puedes instalar fácilmente el vsftpd ejecutando el siguiente comando:
sudo apt install vsftpd -yDespués de la instalación del paquete, inicia el servicio Vsftpd, verifica el estado del servicio y habilita el servicio al inicio.
sudo systemctl start vsftpd
sudo systemctl status vsftpd
systemctl enable vsftpd.service2. Crear un usuario FTP y configurar para el inicio de sesión FTP
Ahora, crea una nueva cuenta de usuario para FTP, usando este usuario iniciaremos sesión en el servidor FTP más tarde.
sudo adduser sohanLos usuarios añadidos en el archivo vsftpd.userlist tienen permiso para acceder al servidor FTP.
A continuación, necesitamos agregar el usuario sohan en la lista de usuarios de vsftpd. Abre el archivo y agrega un usuario ejecutando el siguiente comando:
echo "sohan" | sudo tee -a /etc/vsftpd.userlist3. Crear el directorio del usuario FTP
A continuación, necesitamos crear un directorio FTP para nuestro usuario FTP y establecer la propiedad con el siguiente comando:
sudo mkdir -p /home/sohan/ftp_directory
sudo chown nobody:nogroup /home/sohan/ftp_directory
sudo chmod a-w /home/sohan/ftp_directoryAhora, crea un directorio donde se puedan subir archivos y da la propiedad al usuario sohan ejecutando el comando:
sudo mkdir -p /home/sohan/ftp_directory/ftp_datasudo chown sohan:sohan /home/sohan/ftp_directory/ftp_datacd /home/sohan/ftp_directory/chmod -R 777 ftp_data4. Configurar Vsftpd
A continuación, necesitas cambiar algunos parámetros predeterminados para configurar un servidor FTP.
Primero, crea una copia de seguridad del archivo de configuración original de vsftpd.
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bakEn el servidor FTP, los usuarios anónimos tienen acceso por defecto. Para hacer que el servidor FTP sea más seguro, deshabilitaremos el inicio de sesión de usuarios anónimos y solo otorgaremos acceso al usuario específico.
A continuación, abre el archivo vsftpd.conf y realiza los cambios como se indica a continuación:
vim /etc/vsftpd.confanonymous_enable=NO
local_enable=YESHay algunos otros cambios que necesitamos hacer en la configuración. Primero abre vsftpd.conf
sudo vim /etc/vsftpd.confA continuación, asegúrate de que vsftpd.conf contenga las siguientes líneas:
listen=NO
listen_ipv6=YES
anonymous_enable=NO
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
user_sub_token=$USER
local_root=/home/$USER/ftp_directory
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NOGuarda y cierra el archivo. Puedes cambiar la configuración anterior de acuerdo a tus necesidades.
Ahora reinicia el servicio vsftpd y verifica el estado del servicio ejecutando los siguientes comandos:
sudo systemctl restart vsftpdA continuación, asegúrate de que el servicio vsftpd esté en estado de ejecución ejecutando el siguiente comando en la terminal:
sudo systemctl status vsftpd5. Permitir vsftpd en el firewall y acceder al servidor vsftpd
A continuación, si estás utilizando un firewall, permite el puerto 21 y el puerto 22 ejecutando el siguiente comando:
sudo ufw allow 21/tcp
sudo ufw allow 22/tcpLuego recarga el firewall para aplicar los cambios:
sudo ufw reloadA continuación, abre cualquier cliente FTP como FileZilla e ingresa los detalles de tu servidor, como Protocolo, Host, Usuario:

Ahora, haz clic en conectar, luego ingresa tu contraseña:

Luego, mostrará detalles como a continuación, haz clic en OK.

En este punto, estás conectado al servidor FTP, y puedes subir y descargar archivos/carpetas.

6. Asegurar Vsftpd usando SSL/TLS
Supongamos que deseas transferir datos cifrados a través de FTP, para hacerlo necesitas crear un certificado SSL y habilitar la conexión SSL/TLS.
Puedes crear un certificado usando OpenSSL con el siguiente comando:
sudo mkdir /etc/cert
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/cert/vsftpd.pem -out /etc/cert/vsftpd.pemAhora, necesitarás editar el archivo vsftpd.conf y hacer algunos cambios:
sudo vim /etc/vsftpd.confAgrega las siguientes líneas al final:
rsa_cert_file=/etc/cert/vsftpd.pem
rsa_private_key_file=/etc/cert/vsftpd.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGHGuarda y sal del archivo, luego reinicia Vsftpd usando el siguiente comando:
sudo systemctl restart vsftpd7. Acceder a FTP a través de SSL/TLS
Abre el cliente FTP FileZilla y ve a Archivo>Administrador de sitios. Aquí, haz clic en agregar nuevo sitio e ingresa el nombre del host/sitio, agrega la dirección IP, define el protocolo a usar, Cifrado: Requerir FTP explícito sobre TLS y tipo de inicio de sesión. Luego haz clic en el botón Conectar. Deberías ver la siguiente imagen:

A continuación, ingresa tu contraseña:

A continuación, verás el certificado SSL, verifica los detalles del certificado y haz clic en OK.

Por último, verás el contenido de tu servidor FTP y podrás transferir tus datos de forma segura de un sistema a otro.

Conclusión
En la guía anterior, hemos instalado el servidor VSFTPD en Debian 11. También aprendimos cómo conectarnos a través de una conexión no cifrada y a través de una conexión cifrada utilizando un certificado SSL.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.