Configuración FTP · 5 min read · Dec 18, 2025
Cómo instalar y configurar vsftpd con TLS en Debian 8 (Jessie)
Este artículo explica cómo configurar un servidor vsftpd habilitado para TLS en un servidor Debian 8 y cómo acceder al servidor FTP con FileZilla. FTP es un protocolo muy inseguro por defecto porque todas las contraseñas y todos los datos se transfieren en texto claro. Al usar TLS, toda la comunicación puede ser cifrada, haciendo que FTP sea mucho más seguro.
1 Nota Preliminar
En este tutorial, usaré el nombre de host server1.example.com con la dirección IP 192.168.1.100. Estas configuraciones pueden diferir para ti, así que debes reemplazarlas donde sea apropiado. Utilizo la configuración mínima del servidor Debian 8 como base para este tutorial.
2 Instalando vsftpd y OpenSSL
OpenSSL es necesario para TLS; para instalar vsftpd y OpenSSL, simplemente ejecutamos:
apt-get -y install vsftpd openssl3 Creando el Certificado SSL para TLS
Para usar TLS, debemos crear un certificado SSL. Lo creo en /etc/ssl/private - si el directorio no existe, créalo ahora:
mkdir -p /etc/ssl/private
chmod 700 /etc/ssl/privateDespués, podemos generar el certificado SSL de la siguiente manera:
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pemNombre del País (código de 2 letras) [AU]: <– Ingresa el Nombre de tu País (por ejemplo, “DE”).
Nombre del Estado o Provincia (nombre completo) [Some-State]: <– Ingresa el Nombre de tu Estado o Provincia.
Nombre de la Localidad (por ejemplo, ciudad) []: <– Ingresa tu Ciudad.
Nombre de la Organización (por ejemplo, empresa) [Internet Widgits Pty Ltd]: <– Ingresa el Nombre de tu Organización (por ejemplo, el nombre de tu empresa).
Nombre de la Unidad Organizativa (por ejemplo, sección) []: <– Ingresa el Nombre de tu Unidad Organizativa (por ejemplo, “Departamento de TI”).
Nombre Común (por ejemplo, TU nombre) []: <– Ingresa el Nombre de Dominio Totalmente Calificado del sistema (por ejemplo, “server1.example.com”).
Dirección de Correo Electrónico []: <– Ingresa tu Dirección de Correo Electrónico.
4 Habilitando TLS en vsftpd
Para habilitar TLS en vsftpd, abre /etc/vsftpd.conf…
nano /etc/vsftpd.conf… y agrega o cambia las siguientes opciones:
[...]
# Activar SSL
ssl_enable=YES
# Permitir que los usuarios anónimos usen conexiones SSL seguras
allow_anon_ssl=YES
# Todas las conexiones no anónimas están obligadas a usar una conexión SSL segura para
# enviar y recibir datos en conexiones de datos.
force_local_data_ssl=YES
# Todas las conexiones no anónimas están obligadas a usar una conexión SSL segura para enviar la contraseña.
force_local_logins_ssl=YES
# Permitir conexiones del protocolo TLS v1. Las conexiones TLS v1 son preferidas
ssl_tlsv1=YES
# Permitir conexiones del protocolo SSL v2. Las conexiones TLS v1 son preferidas
ssl_sslv2=NO
# permitir conexiones del protocolo SSL v3. Las conexiones TLS v1 son preferidas
ssl_sslv3=NO
# Desactivar la reutilización de sesiones SSL (requerido por WinSCP)
require_ssl_reuse=NO
# Seleccionar qué cifrados SSL vsftpd permitirá para conexiones SSL cifradas (requerido por FileZilla)
ssl_ciphers=HIGH
# Esta opción especifica la ubicación del certificado RSA a usar para conexiones SSL
# cifradas.
rsa_cert_file=/etc/ssl/private/vsftpd.pem
[...] Si usas force_local_logins_ssl=YES y force_local_data_ssl=YES, entonces solo se permiten conexiones TLS (esto bloquea a cualquier usuario con clientes FTP antiguos que no tienen soporte para TLS); al usar force_local_logins_ssl=NO y force_local_data_ssl=NO, se permiten tanto conexiones TLS como no TLS, dependiendo de lo que soporte el cliente FTP.
Aparte de las opciones de TLS, asegúrate de que también tengas las siguientes configuraciones en tu vsftpd.conf para habilitar inicios de sesión no anónimos:
[...]
# Descomentar esto para permitir que los usuarios locales inicien sesión.
local_enable=YES
#
# Descomentar esto para habilitar cualquier forma de comando de escritura FTP.
write_enable=YES
#
# La máscara de umask predeterminada para usuarios locales es 077. Puede que desees cambiar esto a 022,
# si tus usuarios esperan eso (022 es utilizado por la mayoría de otros ftpd's)
local_umask=022
[...] Reinicia vsftpd después:
service vsftpd restartEso es todo. Ahora puedes intentar conectarte usando tu cliente FTP; sin embargo, debes configurar tu cliente FTP para usar TLS (esto es obligatorio si usas force_local_logins_ssl=YES y force_local_data_ssl=YES) - consulta el siguiente capítulo sobre cómo hacerlo con FileZilla.
5 Agregar usuario a vsftpd
En este paso, agregaremos un usuario local de Linux que podemos usar para conectarnos. Crearé un usuario “till” con la contraseña “howtoforge”. Todos los usuarios FTP tendrán sus directorios de inicio en mkdir /var/ftproot, así que crearé este directorio primero.
mkdir /var/ftprootLuego agrega el usuario con el comando:
adduser --home /var/ftproot/till tillEl comando adduser pedirá la contraseña del usuario y algunos otros detalles
root@server1:/# adduser --home /var/ftproot/till till
Agregando usuario `till' ...
Agregando nuevo grupo `till' (1001) ...
Agregando nuevo usuario `till' (1001) con grupo `till' ...
Creando directorio personal `/var/ftproot/till' ...
Copiando archivos de `/etc/skel' ...
Ingresa nueva contraseña UNIX: <-- Ingresa la nueva contraseña aquí
Vuelve a escribir nueva contraseña UNIX: <-- Ingresa la nueva contraseña aquí
passwd: contraseña actualizada con éxito
Cambiando la información del usuario para till
Ingresa el nuevo valor, o presiona ENTER para el predeterminado
Nombre Completo []: <-- Ingresa tu nombre aquí o presiona enter para omitir
Número de Habitación []: <-- Ingresa el número de habitación aquí o presiona enter para omitir
Teléfono del Trabajo []: <-- Ingresa el teléfono del trabajo aquí o presiona enter para omitir
Teléfono de Casa []: <-- Ingresa el teléfono de casa aquí o presiona enter para omitir
Otro []: <-- Ingresa otros detalles del usuario aquí o presiona enter para omitir
¿Es correcta la información? [Y/n] <-- YHemos agregado con éxito un usuario FTP.
6 Configurando FileZilla para TLS
Para usar FTP con TLS, necesitas un cliente FTP que soporte TLS, como FileZilla.
En FileZilla, abre el Administrador de Servidores:

Ingresa la dirección IP o el nombre de host del servidor FTP en el campo del servidor, selecciona el protocolo “FTP” y “Requerir FTP Explícito sobre TLS”, y escribe el nombre de usuario en el campo de usuario.

Ahora puedes conectarte al servidor. Si lo haces por primera vez, debes aceptar el nuevo certificado SSL del servidor:

Si todo va bien, ahora deberías estar conectado al servidor:

7 Enlaces
- vsftpd: https://security.appspot.com/vsftpd.html
- FileZilla: http://filezilla-project.org/
- Debian: http://www.debian.org/
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.