GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment configurer et utiliser le serveur FTP dans Ubuntu Linux

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.

AVERTISSEMENT
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

Configuration logicielle requise et conventions de ligne de commande 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

  1. 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
    
  2. 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
    
  3. 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.

  4. fichier de configuration vsftpd

  5. 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
    
  6. 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.

  1. 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
    
  2. 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.1

Connexion 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> ls

Lister 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.

  1. Ouvrez le gestionnaire de fichiers depuis le menu Activités ou la barre de lancement rapide.
  2. 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.
  3. Connexion au serveur FTP via le gestionnaire de fichiers GNOME

  4. Choisissez "utilisateur enregistré", puis entrez les informations d'identification du compte FTP que nous avons configuré précédemment et cliquez sur se connecter.
  5. Saisie de nos informations d'identification d'utilisateur FTP

  6. 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.
  7. 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.

  1. 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
    
  2. Ensuite, recherchez le anonymous_enable=NO ligne, et changez le paramètre en YES .
    anonymous_enable=YES
    
  3. 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
    
  4. Pour tester la connexion anonyme, émettez le ftp 127.0.0.1 commande, utilisez anonymous comme nom d'utilisateur et un mot de passe vide. Vous devriez recevoir un 230 Login successful message comme indiqué dans la capture d'écran ci-dessous.
  5. 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 vsftpd

Vé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.


Ubuntu
  1. Comment installer et utiliser Hubot sur Ubuntu Linux

  2. Comment configurer le serveur FTP sur Ubuntu 20.04 Focal Fossa Linux

  3. Comment configurer un serveur FTP avec VSFTPD sur Ubuntu 20.04

  4. Comment installer et utiliser Telnet sur Ubuntu 20.04 LTS

  5. Comment installer et configurer Universal Media Server dans Ubuntu 20.04

Comment installer et utiliser WinSCP sur Ubuntu 20.04 Linux

Comment configurer et utiliser Google Drive sur Ubuntu 20.04

Comment configurer le serveur et le client NTP sur Ubuntu 20.04 LTS

Qu'est-ce que PPA dans Ubuntu Linux et comment les utiliser

Comment configurer et utiliser le pont réseau dans Ubuntu Linux

Comment installer et utiliser ClamAV Antivirus sur Ubuntu Linux