Forzar uso de SFTP en vsftpd
Linux Debian / Ubuntu SSH FTP
Cómo forzar el uso de SFTP (FTP sobre TLS) para el servidor de FTP vsftpd en Linux Debian 11. Con este proceso garantizaremos que las comunicaciones viajan cifradas entre el cliente y el servidor.
- Requisitos para forzar el uso de SFTP en vsftpd.
- Configurar vsftpd para conexión SSL.
- Acceso SFTP con Filezilla al servidor FTP vsftpd.
Requisitos para forzar el uso de SFTP en vsftpd.
Disponer de un servidor de FTP vsftpd. En el siguiente artículo explicamos cómo instalarlo en un equipo Linux Debian 11:
Para 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:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd-key.pem -out /etc/ssl/private/vsftpd-cert.pem
Nos hará algunas preguntas como:
- Código del país.
- State or Province Name.
- Locality Name.
- Organization Name.
- Organizational Unit Name.
- Common Name.
- Email Address.
Introduciremos estos datos y se generará el certificado autofirmado:
Configurar vsftpd para conexión SSL
Editaremos el fichero de configuración /etc/vsftpd.conf de vsftpd:
sudo nano /etc/vsftpd.conf
Añadiendo (o modificando si existen) los siguientes parámetros:
rsa_cert_file=/etc/ssl/private/vsftpd-cert.pem
rsa_private_key_file=/etc/ssl/private/vsftpd-key.pem
ssl_enable=YES
Guardaremos los cambios pulsando Control + O y cerraremos con Control + X.
Reiniciaremos el servicio para que se apliquen los cambios:
sudo systemctl restart vsftpd.service
Acceso SFTP con Filezilla al servidor FTP vsftpd
Una vez configurado el acceso SSL en el FTP, si intentamos acceder usando una configuración de FTP plano, nos mostrará el error:
Respuesta: 530 Non-anonymous sessions must use encryption.
A partir de ahora, para conectarnos al servidor FTP, usaremos la siguiente configuración en el cliente:
- Protocolo: SFTP – SSH File Transfer Protocol.
- Servidor: IP del servidor FTP con vsftpd.
- Modo de acceso: Normal.
Y accederemos mediante SFTP (FTP sobre TLS) con lo que la conexión será cifrada y segura: