Cómo configurar servidor FTPS Debian 13 utilizando vsftpd
En este tutorial aprenderás a configurar servidor FTPS Debian 13 con vsftpd, permitiendo que todas las conexiones al servidor FTP se realicen de forma cifrada mediante un certificado SSL/TLS.
A diferencia del FTP tradicional, el servidor FTPS Debian 13 protege las credenciales y los archivos durante la transferencia, evitando que la información viaje en texto plano por la red.
Durante este tutorial veremos cómo:
- Generar un certificado SSL autofirmado.
- Configurar vsftpd para utilizar TLS.
- Obligar a los clientes a utilizar conexiones cifradas.
- Reiniciar el servicio.
- Conectarse desde FileZilla mediante FTPS.
Nota
Aunque en ocasiones se confunden, FTPS y SFTP no son el mismo protocolo:
- FTPS utiliza el protocolo FTP protegido mediante TLS/SSL y funciona con vsftpd.
- SFTP utiliza el protocolo SSH y no requiere un servidor FTP.
Requisitos
Antes de comenzar deberás disponer de:
- Un servidor con Debian 13.
- vsftpd instalado y funcionando.
- Acceso SSH con privilegios de administrador.
Generar un certificado SSL
Para nuestro servidor FTPS Debian 13 debemos proporcionar una conexión FTP segura al servidor, deberemos cifrar la comunicación mediante un certificado SSL. Usaremos un certificado SSL autofirmado. Para generar el certificado autofirmado vsftpd-key.pem en el servidor, ejecutaremos el siguiente comando:
En este ejemplo utilizaremos un certificado autofirmado.
Ejecuta:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/ssl/private/vsftpd-key.pem \
-out /etc/ssl/private/vsftpd-cert.pem
Durante el proceso se solicitarán varios datos:
- País.
- Provincia.
- Ciudad.
- Organización.
- Unidad organizativa.
- Nombre común (Common Name).
- Correo electrónico.
Una vez finalizado, se habrán creado:
- vsftpd-cert.pem
- vsftpd-key.pem

Configurar vsftpd para utilizar TLS
Editaremos el archivo de configuración:
sudo nano /etc/vsftpd.conf
Añadir o modificar las siguientes opciones:
rsa_cert_file=/etc/ssl/private/vsftpd-cert.pem
rsa_private_key_file=/etc/ssl/private/vsftpd-key.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=HIGH
Esta configuración consigue que:
- Se habilite TLS.
- Se obligue a cifrar el inicio de sesión.
- Se cifre toda la transferencia de archivos.
- Se deshabiliten protocolos SSL antiguos e inseguros.
- Se utilicen únicamente cifrados seguros.

Reiniciar el servicio
Reiniciaremos el servicio para que se apliquen los cambios:
sudo systemctl restart vsftpd
Verificar el estado:
sudo systemctl status vsftpd
Verificar el funcionamiento
Si un cliente intenta conectarse utilizando FTP sin cifrado, el servidor responderá con un mensaje similar a:
530 Non-anonymous sessions must use encryption.
Esto confirma que el servidor únicamente acepta conexiones protegidas mediante TLS.

Conectarse desde FileZilla
Crear una nueva conexión utilizando los siguientes parámetros:
| Parámetro | Valor |
|---|---|
| Protocolo | FTP |
| Cifrado | Requiere FTP explícito sobre TLS |
| Servidor | Dirección IP del servidor Debian 13 |
| Puerto | 21 |
| Usuario | Usuario FTP |
| Contraseña | Contraseña del usuario |
La primera vez que se establezca la conexión, FileZilla solicitará aceptar el certificado autofirmado. Puedes optar por guardar la contraseña o que cada vez tengas que ingresarla.
Una vez aceptado, toda la comunicación viajará cifrada.


Recomendaciones
Para un entorno de producción se recomienda utilizar un certificado emitido por una Autoridad de Certificación (CA), como Let's Encrypt, en lugar de un certificado autofirmado.
ademas, se recomienda usar otro puerto diferente al 21, esto mejorará la seguridad de tu servidor FTPS debian 13.
Si necesitas acceder únicamente mediante SSH y no requieres compatibilidad con clientes FTP clásicos, considera utilizar SFTP, ya que ofrece una configuración más sencilla y un mayor nivel de seguridad.
También te puede interesar
Si necesitas un método seguro para transferir archivos entre equipos Linux, Windows y macOS, te recomendamos nuestro tutorial Cómo instalar y configurar un servidor SFTP en Debian 13. A diferencia del FTP tradicional, SFTP utiliza el protocolo SSH para cifrar toda la comunicación, protegiendo tanto las credenciales de acceso como los archivos transferidos.
👉 Leer también: Cómo instalar y configurar un servidor SFTP en Debian 13
Conclusión
Configurar servidor FTPS Debian 13 con vsftpd permite proteger las credenciales y las transferencias de archivos mediante TLS, mejorando considerablemente la seguridad respecto al FTP tradicional.
Si tus usuarios utilizan clientes compatibles con FTP, FTPS es una excelente opción. En cambio, si todos los clientes disponen de acceso SSH, SFTP suele ser la alternativa más moderna, sencilla y segura.
