Ne manquez pas les offres du Nouvel An !
search
In this article

Serveur FTP Ubuntu : comment le configurer sur un VPS

Le protocole de transfert de fichiers (FTP) est une méthode d’échange de fichiers entre ordinateurs sur l’internet à l’aide du protocole TCP/IP. Il intègre un framework client-serveur et le protocole SSL (Secure Sockets Layer) pour garantir la sécurité des transferts de données.

Le protocole FTP est similaire au protocole de transfert hypertexte (HTTP) et au protocole de transfert de courrier simple (SMTP), mais il traite un type de données différent. Il est essentiel pour gérer des systèmes distants tels qu’un serveur privé virtuel (VPS).

Dans cet article, nous allons expliquer comment configurer un serveur FTP sur un VPS Ubuntu. Nous utiliserons un serveur vsftpd, l’un des serveurs FTP les plus rapides et les plus sûrs pour les systèmes de type UNIX.

Conditions préalables à la mise en place d’un serveur FTP

Avant de passer aux étapes suivantes, achetez un plan d’hébergement Ubuntu avec un support logiciel étendu, comme celui d’Hostinger, afin d’éviter les problèmes d’incompatibilité. Pour ce tutoriel, votre serveur doit fonctionner sous Ubuntu car les commandes peuvent différer selon la distribution Linux que vous utilisez.

Connectez-vous à votre serveur à l’aide d’un client SSH tel que PuTTY, Terminal ou le terminal de Hostinger. Les utilisateurs d’Hostinger peuvent trouver l’adresse IP et les détails de connexion dans la page Aperçu général du VPS de hPanel.

Aperçu général du VPS de hPanel

Par défaut, vous vous connecterez en tant que root. Il est recommandé de créer un nouveau compte avec des privilèges de superutilisateur afin d’éviter l’exécution accidentelle de commandes destructives. Voici les commandes:

adduser account
usermod -aG sudo account

Remplacez account par le nom d’utilisateur de votre choix. Ensuite, passez au nouvel utilisateur en exécutant la commande suivante et procédez à l’installation:

su account
cd

Comment mettre en place un serveur FTP sur Ubuntu

Dans cette section, nous allons décrire les six étapes de la mise en place d’un serveur FTP sur Ubuntu. Si vous rencontrez des difficultés en cours de route, utilisez Kodee, notre assistant VPS IA, pour vous aider à résoudre les problèmes.

1. Installer vsftpd

Commencez par installer vsftpd, qui est chargé d’activer le service FTP sur votre VPS. Voici la marche à suivre:

  1. Téléchargez et installez les mises à jour du paquet pour vous assurer d’obtenir la dernière version de vsftpd. Exécutez la commande:
sudo apt-get update
  1. Attendez que la mise à jour soit terminée et procédez à l’installation de vsftpd à l’aide de cette commande:
sudo apt-get install vsftpd
  1. Un message de confirmation s’affiche. Tapez Y et appuyez sur Entrée pour poursuivre l’installation du daemon vsftpd.
  2. Une fois l’installation terminée, sauvegardez le fichier d’origine afin de pouvoir commencer avec un fichier de configuration vierge:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original

2. Autoriser le trafic FTP à partir du pare-feu

Après l’installation, configurez les règles du pare-feu de votre système pour permettre au serveur FTP Ubuntu de communiquer via Internet. Vous pouvez le faire en utilisant le pare-feu Uncomplicated d’Ubuntu (UFW). Voici la marche à suivre:

  1. Commencez par vérifier si le pare-feu est déjà installé sur votre serveur à l’aide de cette commande:
sudo ufw status
  1. Si vous voyez l’erreur ufw: command not found, le pare-feu Ubuntu n’est pas installé. Téléchargez-le et activez-le en exécutant les commandes suivantes. Sautez cette étape si elle est déjà configurée :
sudo apt-get install ufw
sudo ufw enable
  1. Exécutez cette commande pour vérifier l’état du pare-feu:
sudo ufw status
  1. Une fois qu’il est actif, exécutez ces commandes individuellement pour vous assurer que le trafic FTP est autorisé:
sudo ufw allow OpenSSH
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 990/tcp
sudo ufw allow 40000:50000/tcp
  1. Exécutez à nouveau la commande suivante pour vérifier que vous avez ajouté les nouvelles règles de pare-feu correctement:
sudo ufw status

Vérifiez la sortie du terminal pour vous assurer que ces ports sont ouverts pour que le serveur FTP fonctionne correctement:

  • OpenSSH est nécessaire si vous souhaitez accéder à votre serveur via SSH. Parfois, cette option est activée par défaut.
  • Ports 20 et 21 pour le trafic FTP.
  • Les ports 40000:50000 sont réservés à la gamme de ports passifs qui seront définis ultérieurement dans le fichier de configuration.
  • Le port 990 permet le cryptage TLS lorsqu’il est activé.

Outre l’UFW, les utilisateurs de Hostinger VPS peuvent demander à Kodee de mettre en place une nouvelle règle de pare-feu sur leur serveur. Par exemple, vous pouvez lui demander: “Ouvrez les ports 20, 21, 22, 990 et 40000:50000 TCP de mon serveur à n’importe quelle adresse IP”.

3. Créer le répertoire des utilisateurs

Après avoir activé la communication pour le protocole, créez un nouvel utilisateur qui utilisera l’accès FTP. Pour ce faire, exécutez la procédure suivante:

sudo adduser hostinger

Remplacez l’espace réservé par le nom souhaité. Ensuite, entrez un mot de passe d’utilisateur et remplissez tous les détails requis.

Lorsque vous configurez le protocole FTP, vous devriez idéalement limiter son accès à un répertoire spécifique à des fins de sécurité. Pour cette raison, vsftpd utilise des jails chroot pour limiter un utilisateur local à son répertoire personnel par défaut.

Cependant, la sécurité de vsftpd peut empêcher les utilisateurs non-FTP d’écrire dans leurs répertoires personnels. Pour résoudre ce problème, créez un répertoire FTP qui agit comme un chroot, contenant un dossier accessible en écriture pour les fichiers transférés. Voici la marche à suivre:

  1. Utilisez la commande suivante pour créer le dossier FTP. Remplacez le nom du compte en conséquence:
sudo mkdir /home/hostinger/ftp
  1. Ensuite, définissez la propriété à l’aide de la commande chown :
sudo chown nobody:nogroup /home/hostinger/ftp
  1. Supprimez l’autorisation d’écriture:
sudo chmod a-w /home/hostinger/ftp
  1. Utilisez maintenant la commande suivante pour vérifier les autorisations:
sudo ls -la /home/hostinger/ftp
  1. Le résultat devrait ressembler à ceci:
total 8
dr-xr-xr-x 2 nobody nogroup 4096 Oct 8 11:32.
drwxr-xr-x 3 hostinger hostinger 4096 Oct 8 11:32..

Les utilisateurs de Hostinger VPS peuvent également utiliser Kodee pour lister tous les fichiers, y compris les fichiers cachés, ainsi que leurs permissions dans un répertoire spécifique. Tout ce que vous avez à faire est de demander quelque chose comme “Pouvez-vous lister tous les fichiers, y compris les fichiers cachés, dans /home/hostinger/ftp avec leurs permissions?”.

  1. Ensuite, créez le répertoire qui contiendra les fichiers et attribuez-en la propriété:
sudo mkdir /home/hostinger/ftp/files
sudo chown hostinger:hostinger /home/hostinger/ftp/files
  1. Enfin, ajoutez un fichier de test au répertoire, que nous utiliserons pour tout tester plus tard:
echo "vsftpd sample file" | sudo tee /home/hostinger/ftp/files/sample.txt

4. Configurer vsftpd

Ensuite, configurez vsftpd et l’accès FTP. Dans cet exemple, nous autoriserons un seul utilisateur à se connecter à l’aide d’un compte shell local. Les deux configurations clés requises pour cela sont déjà définies dans le fichier de configuration vsftpd.conf. Voici la marche à suivre:

  1. Ouvrez le fichier de configuration vsftpd à l’aide de la commande nano :
sudo nano /etc/vsftpd.conf
  1. Vérifiez que les paramètres suivants existent:
# Autoriser le FTP anonyme (désactivé par défaut).
anonymous_enable=NO
#
# Décommenter ceci pour permettre aux utilisateurs locaux de se connecter.
local_enable=YES
  1. Activer le paramètre write_enable. Pour ce faire, décommentez-le en supprimant le signe dièse (#):
write_enable=YES
  1. Décommentez chroot_local_user et remplacez la valeur par YES pour limiter l’accès des utilisateurs FTP aux fichiers situés dans le répertoire autorisé. Dans le fichier, il y a deux de ces paramètres, et vous devez faire la même chose pour les deux.
chroot_local_user=YES
  1. Ensuite, ajoutez le paramètre user_sub_token dans le chemin du répertoire local_root au bas du fichier. Il appliquera le fichier de configuration à l’utilisateur actuel et aux autres comptes que vous ajouterez ultérieurement:
user_sub_token=$USER local_root=/home/$USER/ftp
  1. Spécifiez le nombre de ports au bas du fichier de configuration pour vous assurer que votre serveur FTP peut accepter un grand nombre de connexions. Les règles de votre pare-feu doivent les autoriser:
pasv_min_port=40000 pasv_max_port=50000
  1. Pour améliorer la sécurité, n’autorisez l’accès FTP qu’aux utilisateurs spécifiés dans le fichier de configuration. Pour ce faire, ajoutez le paramètre suivant au bas de la page. Veillez à ce que l’indicateur userlist_deny soit défini sur NO.
userlist_enable=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO
  1. Une fois cela fait, appuyez sur Ctrl + X, Y et Entrée pour confirmer les modifications du fichier.
  2. Après avoir modifié la configuration, créez une liste d’utilisateurs et ajoutez votre compte FTP au fichier. Exécutez la commande suivante dans Terminal:
echo "hostinger" | sudo tee -a /etc/vsftpd.userlist
  1. Vérifiez que l’utilisateur est actif en exécutant la commande ci-dessous. Le terminal devrait afficher le nom de compte que vous avez ajouté, qui est “hostinger” dans notre cas:
cat /etc/vsftpd.userlist
  1. Redémarrez le daemon FTP à l’aide de la commande suivante pour appliquer les modifications:
sudo systemctl restart vsftpd

5. Sécuriser le serveur FTP

Comme le protocole FTP ne crypte pas les données par défaut, installez un certificat SSL/TLS pour sécuriser le transfert de fichiers. Voici la marche à suivre:

  1. Délivrez un certificat SSL pour le serveur FTP Ubuntu. Dans notre cas, nous allons créer une clé valable pendant 365 jours et utiliser une clé privée RSA de 2048 bits à l’aide de cette commande:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
  1. Saisissez les données personnelles correspondantes dans le champ prévu à cet effet.
  2. Une fois la création du certificat terminée, ouvrez à nouveau le fichier de configuration vsftpd :
sudo nano /etc/vsftpd.conf
  1. Descendez jusqu’à la fin du fichier, et vous devriez trouver ces deux lignes qui commencent par rsa. S’ils ne sont pas commentés, ajoutez le signe dièse :
# rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
# rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
  1. Pointez maintenant le fichier de configuration vers le certificat nouvellement créé. Ajoutez les répertoires suivants sous les deux lignes :
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
  1. Ensuite, activez le certificat SSL et limitez la connexion aux seuls clients disposant d’un certificat actif en ajoutant cette ligne:
ssl_enable=YES
  1. Ajoutez ensuite les lignes suivantes pour rejeter les connexions anonymes via SSL:
allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES
  1. Activez l’utilisation de TLS par le serveur en ajoutant les paramètres suivants:
ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO
  1. Ensuite, désactivez la réutilisation de SSL pour éviter que les clients FTP ne tombent en panne et utilisez des suites de chiffrement hautement sécurisées pour définir la longueur des clés à 128 bits ou plus. Pour ce faire, ajoutez les lignes suivantes:
require_ssl_reuse=NO ssl_ciphers=HIGH
  1. Enregistrez le fichier en appuyant sur Ctrl + X, Y et Entrée.
  2. Terminez en redémarrant vsftpd pour appliquer les nouvelles configurations:
sudo systemctl restart vsftpd

Excellent travail! Vous avez maintenant configuré le serveur FTP sur votre VPS Ubuntu pour qu’il fonctionne avec le protocole SSL/TLS.

6. Tester la connexion avec FileZilla

La dernière étape consiste à tester si votre serveur FTP Ubuntu fonctionne correctement et en toute sécurité. Vous pouvez le faire à l’aide d’un client FTP prenant en charge le cryptage. Dans ce tutoriel, nous utiliserons FileZilla.

Après avoir téléchargé et installé le client FTP FileZilla sur votre système local, procédez comme suit:

  1. Lancez FileZilla et cliquez sur l’icône Gestionnaire de sites dans le coin supérieur droit sous Fichier.
  2. Une nouvelle fenêtre apparaît. Cliquez sur le bouton Nouveau site et entrez les détails de votre serveur FTP Ubuntu.
  1. Saisissez les informations relatives à votre nouveau serveur FTP Ubuntu dans les champs correspondants. Puisque nous l’avons configuré pour utiliser TLS, choisissez l’option Utiliser FTP explicite sur TLS. La configuration finale devrait ressembler à ceci:
  1. Cliquez sur Connecter, et un écran vous demandant d’entrer le mot de passe de l’utilisateur FTP s’affichera. Remplissez les informations d’identification et cliquez sur OK.
  2. Enfin, vérifiez le certificat SSL de votre serveur FTP Ubuntu VPS. Après confirmation, le répertoire racine contenant le fichier de test devrait apparaître sur votre écran.

C’est tout! Vous pouvez maintenant effectuer divers transferts de fichiers de votre ordinateur vers le serveur FTP Ubuntu et vice versa.

Conclusion

La mise en place d’un serveur FTP Ubuntu simplifie le transfert de fichiers entre votre serveur distant et votre ordinateur local, améliorant ainsi l’efficacité du développement. En outre, il renforce la sécurité et garantit une connexion fiable en utilisant les protocoles SSL/TLS et TCP/IP.

Dans ce tutoriel, nous avons exploré comment configurer un serveur FTP sur un VPS Ubuntu en utilisant vsftpd en six étapes. Voici un récapitulatif:

  1. Installer vsftpd sur votre serveur Ubuntu et sauvegarder le fichier de configuration original.
  2. Autoriser les connexions FTP à travers le pare-feu.
  3. Créer un répertoire d’utilisateurs accessible uniquement aux comptes spécifiés.
  4. Configurer les paramètres de vsftpd.
  5. Sécuriser le serveur FTP à l’aide de SSL/TLS.
  6. Tester votre connexion FTP avec FileZilla.

Avant de configurer le FTP, n’oubliez pas de vous connecter à votre VPS via SSH et de créer un nouveau compte superutilisateur. Si vous rencontrez des difficultés au cours du processus, utilisez Kodee pour vous aider à résoudre rapidement le problème.

Tout le contenu des tutoriels de ce site est soumis aux normes éditoriales et aux valeurs rigoureuses de Hostinger.

Author
L'auteur

Chaimaa Chakir

Chaimaa est une spécialiste du référencement et du marketing de contenu chez Hostinger. Elle est passionnée par le marketing digital et la technologie. Elle espère aider les gens à résoudre leurs problèmes et à réussir en ligne. Chaimaa est une cinéphile qui adore les chats et l'analyse des films.

Ce que disent nos clients

Laissez une réponse

Veuillez remplir les champs obligatoires.Veuillez cocher la case de la confidentialité.Veuillez remplir les champs obligatoires et accepter la case de confidentialité.

Thank you! Your comment has been successfully submitted. It will be approved within the next 24 hours.