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 openssl

3 Configurando PureFTPd

Abre /etc/pure-ftpd/pure-ftpd.conf…

nano /etc/pure-ftpd/pure-ftpd.conf

Si 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.pem

y 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.pem

Nombre 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.pem

Finalmente, reinicia PureFTPd:

systemctl restart pure-ftpd.service

Eso 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:

FileZilla - Abrir 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:

Ingresa los detalles del usuario.

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í:

Aceptar el error SSL

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

Inicio de sesión con TLS exitoso.

6 Enlaces

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.