Serveur FTP · 5 min read · Sep 23, 2025

Comment installer le serveur FTP vsftpd et le sécuriser avec TLS sur Debian 11

Le protocole de transfert de fichiers ou FTP est un protocole réseau très ancien et l’un des plus connus. Il n’est pas sécurisé par rapport à SFTP ou SCP de nos jours, mais reste le premier choix de nombreux utilisateurs pour transférer des fichiers entre un serveur et un client. FTP est considéré comme non sécurisé car il transfère des données ainsi que des identifiants d’utilisateur sans aucun type de cryptage.

Nous avons une large gamme de serveurs FTP open-source disponibles de nos jours comme FTPD, VSFTPD, PROFTPD et pureftpd. Parmi tous, VSFTPD est un protocole très sécurisé, rapide et le plus largement utilisé pour transférer des fichiers entre deux systèmes.

VSFTPD est également connu sous le nom de “Very Secure File Transfer Protocol Daemon” avec le support de SSL, IPv6, FTPS explicite et implicite.

Dans ce guide, nous allons vous montrer comment installer le serveur FTP vsftpd sur Debian 11.

Prérequis

Un serveur exécutant Debian 11. Un utilisateur non-root avec des privilèges sudo.

1. Installer Vsftpd

Avant de commencer l’installation, mettez à jour votre serveur Debian 11 en exécutant la commande suivante dans le terminal :

sudo apt update -y  
sudo apt upgrade -y

Debian a un très grand dépôt et le paquet vsftpd est disponible dans le dépôt officiel, donc vous pouvez facilement installer le vsftpd en exécutant la commande suivante :

sudo apt install vsftpd -y

Après l’installation du paquet, démarrez le service Vsftpd, vérifiez l’état du service et activez le service au démarrage.

sudo systemctl start vsftpd  

sudo systemctl status vsftpd  

systemctl enable vsftpd.service

2. Créer un utilisateur FTP et configurer pour la connexion FTP

Maintenant, créez un nouveau compte utilisateur pour FTP, en utilisant cet utilisateur nous allons nous connecter au serveur FTP plus tard.

sudo adduser sohan

Les utilisateurs ajoutés dans le fichier vsftpd.userlist ont la permission d’accéder au serveur FTP.

Ensuite, nous devons ajouter l’utilisateur sohan dans la liste des utilisateurs vsftpd. Ouvrez le fichier et ajoutez un utilisateur en exécutant la commande suivante :

echo "sohan" | sudo tee -a  /etc/vsftpd.userlist

3. Créer un répertoire utilisateur FTP

Ensuite, nous devons créer un répertoire FTP pour notre utilisateur FTP et définir la propriété avec la commande suivante :

sudo mkdir -p /home/sohan/ftp_directory  
  
sudo chown nobody:nogroup /home/sohan/ftp_directory  
  
sudo chmod a-w /home/sohan/ftp_directory

Maintenant, créez un répertoire où les fichiers peuvent être téléchargés et donnez la propriété à l’utilisateur sohan en exécutant la commande :

sudo mkdir -p /home/sohan/ftp_directory/ftp_data
sudo chown sohan:sohan /home/sohan/ftp_directory/ftp_data
cd /home/sohan/ftp_directory/
chmod -R 777 ftp_data

4. Configurer Vsftpd

Ensuite, vous devez changer certains paramètres par défaut pour configurer un serveur FTP.

Tout d’abord, créez une copie de sauvegarde du fichier de configuration original de vsftpd.

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

Dans le serveur FTP, les utilisateurs anonymes se voient accorder l’accès par défaut. Pour rendre le serveur FTP plus sécurisé, nous allons désactiver la connexion des utilisateurs anonymes et n’accorder l’accès qu’à l’utilisateur spécifique.

Ensuite, ouvrez le fichier vsftpd.conf et apportez les modifications comme ci-dessous :

vim /etc/vsftpd.conf
anonymous_enable=NO  
  
local_enable=YES

Il y a d’autres changements que nous devons apporter dans la configuration, ouvrez d’abord vsftpd.conf

sudo vim /etc/vsftpd.conf

Ensuite, assurez-vous que vsftpd.conf doit contenir les lignes suivantes :

listen=NO  
listen_ipv6=YES  
anonymous_enable=NO  
write_enable=YES  
local_umask=022  
dirmessage_enable=YES  
use_localtime=YES  
xferlog_enable=YES  
connect_from_port_20=YES  
chroot_local_user=YES  
secure_chroot_dir=/var/run/vsftpd/empty  
pam_service_name=vsftpd  
user_sub_token=$USER  
local_root=/home/$USER/ftp_directory  
userlist_enable=YES  
userlist_file=/etc/vsftpd.userlist  
userlist_deny=NO

Enregistrez et fermez le fichier. Vous pouvez changer la configuration ci-dessus selon vos besoins.

Maintenant, redémarrez le service vsftpd et vérifiez l’état du service en exécutant les commandes suivantes :

sudo systemctl restart vsftpd

Ensuite, assurez-vous que le service vsftpd est en cours d’exécution en exécutant la commande suivante dans le terminal :

sudo systemctl status vsftpd

5. Autoriser vsftpd dans le pare-feu et accéder au serveur vsftpd

Ensuite, si vous utilisez un pare-feu, autorisez le port 21 et le port 22 en exécutant la commande suivante :

sudo ufw allow 21/tcp  
  
sudo ufw allow 22/tcp

Puis rechargez le pare-feu pour appliquer les modifications :

sudo ufw reload

Ensuite, ouvrez n’importe quel client FTP comme FileZilla et entrez les détails de votre serveur, comme le protocole, l’hôte, l’utilisateur :

Configurer le pare-feu
Maintenant, cliquez sur connecter, puis entrez votre mot de passe :

Entrer le mot de passe

Ensuite, cela affichera des détails comme ci-dessous, cliquez sur OK.

Accepter le nouvel hôte

À ce stade, vous êtes connecté au serveur FTP, et vous pouvez télécharger et télécharger des fichiers/dossiers.

La connexion au serveur FTP a réussi

6. Sécuriser Vsftpd avec SSL/TLS

Disons que vous souhaitez transférer des données cryptées via FTP, pour ce faire, vous devez créer un certificat SSL et activer la connexion SSL/TLS.

Vous pouvez créer un certificat en utilisant OpenSSL avec la commande suivante :

sudo mkdir /etc/cert  
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/cert/vsftpd.pem -out /etc/cert/vsftpd.pem

Maintenant, vous devrez modifier le fichier vsftpd.conf et apporter quelques modifications :

sudo vim /etc/vsftpd.conf

Ajoutez les lignes suivantes à la fin :

rsa_cert_file=/etc/cert/vsftpd.pem  
rsa_private_key_file=/etc/cert/vsftpd.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

Enregistrez et quittez le fichier, puis redémarrez Vsftpd en utilisant la commande suivante :

sudo systemctl restart vsftpd

7. Accéder à FTP via SSL/TLS

Ouvrez le client FTP FileZilla et allez dans Fichier > Gestionnaire de sites. Ici, cliquez sur ajouter un nouveau site et entrez le nom de l’hôte/site, ajoutez l’adresse IP, définissez le protocole à utiliser, Chiffrement : Exiger FTP explicite sur TLS et type de connexion. Ensuite, cliquez sur le bouton Connecter. Vous devriez voir l’image suivante :

Accéder à FTP via SSL/TLS

Ensuite, entrez votre mot de passe :

Entrer le mot de passe
Ensuite, vous verrez le certificat SSL, vérifiez les détails du certificat et cliquez sur OK.

Accepter le certificat SSL
Enfin, vous verrez le contenu de votre serveur FTP et pourrez transférer vos données en toute sécurité d’un système à un autre.

Connexion au serveur FTP réussie

Conclusion

Dans le guide ci-dessus, nous avons installé le serveur VSFTPD sur Debian 11. Nous avons également appris comment se connecter via une connexion non cryptée et via une connexion cryptée en utilisant un certificat SSL.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.