Configuración FTP · 4 min read · Dec 14, 2025
Cómo configurar PureFTPd y FileZilla para usar sesiones TLS en CentOS 7.2
Este artículo explica cómo configurar PureFTPd para aceptar sesiones TLS en un servidor CentOS 7.2. FTP simple es un protocolo inseguro porque todas las contraseñas y datos se transfieren en texto claro. Al usar TLS, toda la comunicación puede ser cifrada, lo que hace que FTP sea mucho más seguro.
1 Nota Preliminar
Deberías tener una configuración de PureFTPd funcionando en tu servidor CentOS 7.2, por ejemplo, como se muestra en este tutorial: Servidor FTP con PureFTPd, MariaDB y Usuarios Virtuales (incl. Gestión de Cuotas y Ancho de Banda) en CentOS 7.2
2 Instalando OpenSSL
TLS necesita OpenSSL; para instalar OpenSSL, simplemente ejecutamos:
yum -y install openssl3 Configurando PureFTPd
Abre /etc/pure-ftpd/pure-ftpd.conf…
nano /etc/pure-ftpd/pure-ftpd.confSi deseas permitir sesiones FTP y TLS, establece TLS en 1:
[...]
# Esta opción puede aceptar tres valores :
# 0 : deshabilitar la capa de cifrado SSL/TLS (por defecto).
# 1 : aceptar tanto sesiones tradicionales como cifradas.
# 2 : rechazar conexiones que no utilicen mecanismos de seguridad SSL/TLS,
# incluidas las sesiones anónimas.
# No _descomentes_ esto a ciegas. Asegúrate de que :
# 1) Tu servidor ha sido compilado con soporte para SSL/TLS (--with-tls),
# 2) Un certificado válido está en su lugar,
# 3) Solo los clientes compatibles iniciarán sesión.
TLS 1
[...]Si deseas aceptar solo sesiones TLS (sin FTP), establece TLS en 2:
[...]
# Esta opción puede aceptar tres valores :
# 0 : deshabilitar la capa de cifrado SSL/TLS (por defecto).
# 1 : aceptar tanto sesiones tradicionales como cifradas.
# 2 : rechazar conexiones que no utilicen mecanismos de seguridad SSL/TLS,
# incluidas las sesiones anónimas.
# No _descomentes_ esto a ciegas. Asegúrate de que :
# 1) Tu servidor ha sido compilado con soporte para SSL/TLS (--with-tls),
# 2) Un certificado válido está en su lugar,
# 3) Solo los clientes compatibles iniciarán sesión.
TLS 2
[...]Para no permitir TLS en absoluto (solo FTP), establece TLS en 0:
[...]
# Esta opción puede aceptar tres valores :
# 0 : deshabilitar la capa de cifrado SSL/TLS (por defecto).
# 1 : aceptar tanto sesiones tradicionales como cifradas.
# 2 : rechazar conexiones que no utilicen mecanismos de seguridad SSL/TLS,
# incluidas las sesiones anónimas.
# No _descomentes_ esto a ciegas. Asegúrate de que :
# 1) Tu servidor ha sido compilado con soporte para SSL/TLS (--with-tls),
# 2) Un certificado válido está en su lugar,
# 3) Solo los clientes compatibles iniciarán sesión.
TLS 0
[...]Luego elimina el # al principio de las siguientes 2 líneas:
TLSCipherSuite HIGH
CertFile /etc/ssl/private/pure-ftpd.pemy guarda el archivo de configuración alterado.
4 Creando el Certificado SSL para TLS
Para usar TLS, debemos crear un certificado SSL. Lo creo en /etc/ssl/private/, por lo tanto, primero creo ese directorio:
mkdir -p /etc/ssl/private/Después, podemos generar el certificado SSL de la siguiente manera:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pemNombre del País (código de 2 letras) [XX]: <– Ingresa el Nombre de tu País (por ejemplo, “DE”).
Nombre del Estado o Provincia (nombre completo) []: <– Ingresa el Nombre de tu Estado o Provincia.
Nombre de la Localidad (por ejemplo, ciudad) [Ciudad Predeterminada]: <– Ingresa tu Ciudad.
Nombre de la Organización (por ejemplo, empresa) [Compañía Ltda. Predeterminada]: <– 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 o el nombre de host de tu servidor) []: <– 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.
Cambia los permisos del certificado SSL:
chmod 600 /etc/ssl/private/pure-ftpd.pemFinalmente, reinicia PureFTPd:
systemctl restart pure-ftpd.serviceEso es todo. Ahora puedes intentar conectarte usando tu cliente FTP; sin embargo, debes configurar tu cliente FTP para usar TLS - consulta el siguiente capítulo sobre cómo hacer esto con FileZilla.
5 Configurando FileZilla para TLS
Para usar FTP con TLS, necesitas un cliente FTP que soporte TLS, como FileZilla o el complemento FireFTP de Firefox.
En FileZilla, abre el Administrador de Sitios:

Selecciona el servidor que usa PureFTPd con TLS; en el menú desplegable Tipo de Servidor, selecciona Requerir FTP Explícito sobre TLS en lugar de FTP normal:

Ahora puedes conectarte al servidor. Si lo haces por primera vez, debes aceptar el nuevo certificado SSL del servidor ya que estamos usando un certificado SSL autofirmado aquí:

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

6 Enlaces
- PureFTPd: http://www.pureftpd.org/
- FileZilla: http://filezilla-project.org/
- CentOS: http://www.centos.org/
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.