FTP signifie "File Transfer Protocol" et est un excellent protocole pour télécharger des fichiers à partir d'un serveur distant ou local, ou pour télécharger des fichiers sur le serveur. L'utilisation de FTP s'avère être une tâche assez basique une fois qu'il a été correctement configuré. Cela fonctionne en ayant un serveur qui écoute les connexions (sur le port 21 par défaut) des clients. Les clients peuvent accéder à un répertoire distant avec leur compte utilisateur, puis y télécharger ou télécharger des fichiers, selon les autorisations qui leur ont été accordées. Il est également possible de configurer une autorisation anonyme, ce qui signifie que les utilisateurs n'auront pas besoin de leur propre compte pour se connecter au serveur FTP.
Sur Ubuntu Linux, il existe une multitude de packages de logiciels clients et serveurs FTP différents. Vous pouvez même utiliser l'interface graphique par défaut et les outils de ligne de commande en tant que client FTP. Un package de serveur FTP très populaire et hautement configurable est vsftpd, disponible pour de nombreux systèmes Linux, y compris Ubuntu.
Dans ce guide, nous passerons en revue les instructions étape par étape pour installer vsftpd sur Ubuntu. Nous verrons également comment configurer le serveur FTP via divers paramètres, puis comment utiliser la ligne de commande, l'interface graphique GNOME ou le logiciel client FTP pour se connecter au serveur FTP.
FTP suffira dans certaines situations, mais pour les connexions sur Internet, SFTP est recommandé. En effet, l'utilisation de FTP n'est pas sécurisée sur une connexion Internet, car vos informations d'identification et vos données sont transmises sans cryptage. Le « S » dans SFTP signifie « Sécurisé » et tunnelise le protocole FTP via SSH, fournissant le cryptage nécessaire pour établir une connexion sécurisée. Pour en savoir plus sur SFTP, consultez notre guide Comment transférer des fichiers en toute sécurité avec SFTP.
Dans ce didacticiel, vous apprendrez :
- Comment installer et configurer vsftpd sur Ubuntu
- Comment configurer un compte utilisateur FTP
- Comment se connecter au serveur FTP via la ligne de commande
- Comment se connecter au serveur FTP via l'interface graphique
- Comment configurer une connexion FTP anonyme
- Comment changer le port d'écoute FTP par défaut
- Dépannage de l'erreur de connexion FTP "connexion refusée"
Connexion au serveur FTP sur Ubuntu Linux
Catégorie | Exigences, conventions ou version du logiciel utilisée |
---|---|
Système | Ubuntu Linux |
Logiciel | vsftpd |
Autre | Accès privilégié à votre système Linux en tant que root ou via le sudo commande. |
Conventions | # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo commande$ – nécessite que les commandes linux données soient exécutées en tant qu'utilisateur normal non privilégié |
installation de vsftpd
Installez vsftpd sur votre système Ubuntu en tapant cette commande dans le terminal :
$ sudo apt install vsftpd
Configurer le serveur vsftpd
- Il est toujours préférable de conserver une copie de sauvegarde du fichier de configuration d'origine, au cas où quelque chose tournerait mal plus tard. Renommez le fichier de configuration par défaut :
$ sudo mv /etc/vsftpd.conf /etc/vsftpd.conf_orig
- Créez un nouveau fichier de configuration vsftpd à l'aide de nano ou de l'éditeur de texte de votre choix :
$ sudo nano /etc/vsftpd.conf
- Copiez la configuration de base suivante dans votre fichier. Cette configuration suffira pour un serveur FTP de base et pourra être adaptée ultérieurement aux besoins spécifiques de votre environnement une fois que vous aurez vérifié que cela fonctionne correctement :
listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES 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 rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=NO pasv_enable=Yes pasv_min_port=10000 pasv_max_port=10100 allow_writeable_chroot=YES
Collez les lignes ci-dessus dans votre nouveau
/etc/vsftpd.conf
fichier, puis enregistrez les modifications et fermez le fichier.
fichier de configuration vsftpd - Le pare-feu intégré d'Ubuntu bloquera le trafic FTP par défaut, mais la commande suivante créera une exception dans UFW pour autoriser le trafic :
$ sudo ufw allow from any to any port 20,21,10000:10100 proto tcp
- Une fois le fichier de configuration enregistré et les règles de pare-feu mises à jour, redémarrez vsftpd pour appliquer les nouvelles modifications :
$ sudo systemctl restart vsftpd
Créer un utilisateur FTP
Notre serveur FTP est prêt à recevoir les connexions entrantes, il est donc temps de créer un nouveau compte utilisateur que nous utiliserons pour nous connecter au service FTP.
- Utilisez cette première commande pour créer un nouveau compte appelé
ftpuser
, et la deuxième commande pour définir un mot de passe pour le compte :$ sudo useradd -m ftpuser $ sudo passwd ftpuser New password: Retype new password: passwd: password updated successfully
- Afin de vérifier que tout fonctionne correctement, vous devez stocker au moins un fichier dans le répertoire personnel de ftpuser. Ce fichier devrait être visible lorsque nous nous connecterons au FTP dans les étapes suivantes.
$ sudo bash -c "echo FTP TESTING > /home/ftpuser/FTP-TEST"
Se connecter au serveur FTP via la ligne de commande
Vous devriez maintenant pouvoir vous connecter à votre serveur FTP soit par adresse IP, soit par nom d'hôte. Tout d'abord, assurez-vous que l'utilitaire client FTP par défaut est installé sur votre système en exécutant la commande suivante. Il installera le logiciel ou vous dira qu'il existe déjà sur le système.
$ sudo apt install ftp
Pour vous connecter à partir de la ligne de commande et vérifier que tout fonctionne, ouvrez un terminal et utilisez la commande ftp d'Ubuntu pour vous connecter à votre adresse de bouclage (127.0.0.1).
$ ftp 127.0.0.1Connexion au serveur FTP via la ligne de commande
Comme vous pouvez le voir dans la capture d'écran ci-dessus, nous avons pu nous connecter au serveur FTP en spécifiant le nom d'utilisateur et le mot de passe que nous avons configurés précédemment. Ensuite, essayons d'émettre un ls
commande, qui devrait répertorier le fichier de test que nous avons créé dans les étapes précédentes.
ftp> lsLister notre fichier de test pour nous assurer que nous pouvons voir le contenu du serveur FTP
Votre sortie devrait ressembler à la capture d'écran ci-dessus, indiquant une connexion réussie et un ls
commande qui révèle notre fichier de test que nous avons créé précédemment.
Se connecter au serveur FTP via l'interface graphique GNOME
Vous pouvez également vous connecter à votre serveur FTP par interface graphique, si vous préférez. Il existe de nombreuses options pour les clients FTP, mais l'interface graphique GNOME par défaut sur Ubuntu offre déjà la possibilité de se connecter aux serveurs FTP à partir du gestionnaire de fichiers. Voici comment l'utiliser pour vous connecter à votre serveur FTP.
- Ouvrez le gestionnaire de fichiers depuis le menu Activités ou la barre de lancement rapide.
- Cliquez sur "Autres emplacements" et saisissez
ftp://127.0.0.1
dans la case "Se connecter au serveur" en bas de la fenêtre et cliquez sur se connecter.
Connexion au serveur FTP via le gestionnaire de fichiers GNOME - Choisissez "utilisateur enregistré", puis entrez les informations d'identification du compte FTP que nous avons configuré précédemment et cliquez sur se connecter. Saisie de nos informations d'identification d'utilisateur FTP
- Une fois la connexion établie, le fichier de test que vous avez créé précédemment s'affiche. Vous pourrez désormais télécharger et afficher ce fichier, ou télécharger votre propre contenu dans le répertoire. Connexion réussie au serveur FTP, montrant notre fichier de test
Autoriser l'accès anonyme dans vsftpd
Jusqu'à présent, nous avons vu comment créer de nouveaux utilisateurs pouvant accéder au serveur FTP. Si vous souhaitez que d'autres personnes puissent accéder à votre serveur FTP sans donner de nom d'utilisateur ni de mot de passe, vous pouvez configurer une authentification anonyme. Suivez les étapes ci-dessous pour le configurer.
- Tout d'abord, nous devons modifier le
/etc/vsftpd.conf
fichier, alors ouvrez-le avec nano ou tout autre éditeur de texte.$ sudo nano /etc/vsftpd.conf
- Ensuite, recherchez le
anonymous_enable=NO
ligne, et changez le paramètre enYES
.anonymous_enable=YES
- Une fois terminé, quittez ce fichier tout en enregistrant les nouvelles modifications, puis redémarrez le service vsftpd pour que les modifications prennent effet.
$ sudo systemctl restart vsftpd
- Pour tester la connexion anonyme, émettez le
ftp 127.0.0.1
commande, utilisezanonymous
comme nom d'utilisateur et un mot de passe vide. Vous devriez recevoir un230 Login successful
message comme indiqué dans la capture d'écran ci-dessous.
Connexion au serveur FTP avec anonyme
Modifier le numéro de port FTP par défaut
Par défaut, le protocole FTP écoute le port 21 pour l'authentification des utilisateurs et le port 20 pour le transfert de données. Cependant, nous pouvons changer ce comportement en apportant une petite modification au /etc/vsftpd.conf
dossier. Au bas du fichier, utilisez le listen_port
directive pour spécifier un port différent pour vsftpd à utiliser. Par exemple, l'ajout de la ligne suivante demandera à vsftpd d'écouter sur le port 2121 :
listen_port=2121
Réflexions finales
Dans ce guide, nous avons vu comment utiliser le package logiciel vsftpd pour créer un serveur FTP sur Ubuntu Linux. Nous avons également appris à utiliser la ligne de commande ou l'interface graphique GNOME en tant que client FTP pour se connecter au serveur. En suivant ce guide, les ordinateurs de votre réseau local peuvent accéder à votre système pour stocker et récupérer des fichiers, soit via la ligne de commande, soit via leur client FTP préféré.
Dépannage
L'erreur la plus courante que vous pouvez recevoir est un message "Connexion refusée" lorsque vous essayez de vous connecter au serveur. Cela peut être dû à diverses raisons, mais est généralement associé à un pare-feu bloquant la connexion ou à un fichier vstpd mal configuré. Assurez-vous que le port FTP n'est pas bloqué par votre pare-feu en exécutant cette commande :
$ sudo ufw allow from any to any port 20,21,10000:10100 proto tcp
Vérifiez également l'état du service vsftpd pour vous assurer qu'il est en cours d'exécution et qu'il n'a rencontré aucune erreur de démarrage.
$ systemctl status vsftpdVérification de l'état du service vsftpd
Utilisez les commandes suivantes pour démarrer vsftpd ou pour redémarrer le service après avoir appliqué les modifications de configuration.
$ sudo systemctl start vsftpd OR $ sudo systemctl restart vsftpd
Enfin, gardez à l'esprit qu'un routeur ou un pare-feu externe peut également être responsable du blocage de votre connexion. Si vous parvenez à vous connecter avec succès à votre serveur FTP avec le ftp 127.0.0.1
sur le serveur lui-même et que vous avez suivi les étapes de dépannage ci-dessus, mais que vous ne parvenez pas à vous connecter au serveur FTP à partir d'un système distant, il y a probablement un périphérique entre les deux systèmes qui bloque la connexion.