FTP et SFTP sont d'excellents protocoles pour télécharger des fichiers à partir d'un serveur distant ou local, ou pour télécharger des fichiers sur le serveur. FTP suffira dans certaines situations, mais pour les connexions sur Internet, SFTP est recommandé. En d'autres termes, 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.
Dans ce guide, nous passerons en revue les instructions étape par étape pour configurer un serveur FTP via le logiciel VSFTP ou un serveur SFTP via OpenSSH sur AlmaLinux. Ensuite, nous verrons comment se connecter au serveur depuis un système client AlmaLinux. La configuration de FTP/SFTP est une étape courante après l'installation d'AlmaLinux ou la migration de CentOS vers AlmaLinux.
Dans ce didacticiel, vous apprendrez :
- Comment configurer un serveur FTP via VSFTPD
- Comment configurer un serveur SFTP via OpenSSH
- Comment configurer des comptes utilisateur FTP et SFTP
- Comment autoriser FTP et SFTP via un pare-feu
- Comment se connecter à un serveur FTP/SFTP via la ligne de commande
- Comment se connecter à un serveur FTP/SFTP via l'interface graphique GNOME
Catégorie | Exigences, conventions ou version du logiciel utilisée |
---|---|
Système | AlmaLinux |
Logiciel | VSFTPD, OpenSSH |
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é |
Configurer un serveur FTP via VSFTPD
Il existe différents progiciels que l'on peut utiliser pour configurer un serveur FTP, mais l'un des meilleurs est VSFTPD. Cette section vous montrera comment installer et configurer VSFTPD pour configurer un serveur FTP sur AlmaLinux. Si FTP n'est pas suffisamment sécurisé pour votre scénario et que vous préférez configurer SFTP, faites défiler jusqu'à la section appropriée ci-dessous.
Installation de VSFTPD
Installez VSFTPD sur votre système en tapant cette commande dans le terminal :
$ sudo dnf install vsftpd
Configurer le serveur FSFTPD
- 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/vsftpd.conf /etc/vsftpd/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/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 :
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=NO listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES
Collez les lignes ci-dessus dans votre nouveau
/etc/vsftpd/vsftpd.conf
fichier, puis enregistrez les modifications et fermez le fichier. - Le pare-feu par défaut d'AlmaLinux (firewalld) bloquera le trafic FTP par défaut, mais la commande suivante créera une exception pour autoriser le trafic :
$ sudo firewall-cmd --zone=public --add-service=ftp - -permanent$ sudo firewall-cmd --reload
- Avec 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 ftpuserNew password :retapez le nouveau mot de passe :passwd :mot de passe mis à jour avec succès
- Afin de vérifier que tout fonctionne correctement, vous devez stocker au moins un fichier dans
ftpuser
répertoire personnel de. 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
Installez l'utilitaire de ligne de commande FTP avec la commande suivante :
$ sudo dnf install ftp
Vous devriez maintenant pouvoir vous connecter à votre serveur FTP soit par adresse IP, soit par nom d'hôte. Pour vous connecter depuis la ligne de commande et vérifier que tout fonctionne, ouvrez un terminal et utilisez le ftp
d'AlmaLinux commande pour se connecter à votre adresse de bouclage (127.0.0.1).
$ ftp 127.0.0.1Connecté à 127.0.0.1 (127.0.0.1).220 (vsFTPd 3.0.3)Nom (127.0.0.1:root) :ftpuser331 Veuillez spécifier le mot de passe.Mot de passe :230 Connexion réussie.Type de système distant est UNIX.Utilisation du mode binaire pour transférer des fichiers.ftp> ls227 Entrée en mode passif (127,0,0,1,71,72).150 Voici la liste des répertoires.-rw-r--r-- 1 0 0 12 Avr 03 01:11 FTP-TEST226 Annuaire envoyer OK.ftp>
Votre sortie devrait ressembler au texte 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 AlmaLinux 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 à partir du menu Activités.
- 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.
Connectez-vous au serveur FTP avec le gestionnaire de fichiers GNOME - Entrez les informations d'identification du compte FTP que nous avons configuré précédemment et cliquez sur se connecter. Entrez le nom d'utilisateur et le mot de passe FTP
- Une fois la connexion établie, vous verrez le fichier de test que vous avez créé précédemment. Connexion réussie au serveur FTP
Configurer un serveur SFTP via OpenSSH
Si OpenSSH est déjà installé et activé sur AlmaLinux, vous n'avez pas besoin de logiciel supplémentaire pour exécuter un serveur SFTP. Suivez les instructions ci-dessous pour effectuer les modifications de configuration appropriées, qui transformeront votre système en un serveur SFTP.
Installer et configurer OpenSSH
- S'il n'est pas déjà installé, utilisez la commande suivante pour installer OpenSSH.
$ sudo dnf install openssh-server openssh-clients
- Une fois SSH installé, nous devons apporter quelques modifications au fichier de configuration SSHD. Utilisez nano ou votre éditeur de texte préféré pour l'ouvrir :
$ sudo nano /etc/ssh/sshd_config
- Faites défiler jusqu'au bas du fichier et ajoutez les 5 lignes suivantes à la toute fin :
Match group sftpChrootDirectory /homeX11Forwarding noAllowTcpForwarding noForceCommand internal-sftp
Les lignes ci-dessus autoriseront les utilisateurs dans le
sftp
groupe pour accéder à leurs répertoires personnels via SFTP, mais leur refuse l'accès SSH normal, de sorte qu'ils ne peuvent jamais accéder à un shell. Après avoir collé ces lignes, enregistrez et fermez le fichier de configuration. - Redémarrez le service SSH pour que ces nouvelles modifications prennent effet :
$ sudo systemctl restart sshd
- Le pare-feu par défaut d'AlmaLinux (firewalld) bloquera le trafic SFTP/SSH par défaut, mais la commande suivante créera une exception pour autoriser le trafic :
$ sudo firewall-cmd --zone=public --add-service=ssh --permanent$ sudo firewall-cmd --reload
Créer un compte utilisateur SFTP
Nous devons maintenant créer des comptes d'utilisateurs pour toute personne à qui nous souhaitons accorder un accès SFTP.
- Créez un nouveau groupe d'utilisateurs appelé
sftp
. Tous nos utilisateurs SFTP devront appartenir à ce groupe.$ sudo groupadd sftp
- Ensuite, créez un nouvel utilisateur. Nous appellerons simplement le nôtre
sftpuser
dans cet exemple. Assurez-vous également d'ajouter cet utilisateur ausftp
groupe.$ sudo useradd -m sftpuser -g sftp
- Définissez un mot de passe pour le sftpuser nouvellement créé :
$ sudo passwd sftpuserNouveau mot de passe :retapez le nouveau mot de passe :passwd :mot de passe mis à jour avec succès
- Enfin, accordons un accès complet à l'utilisateur sur son propre répertoire personnel, mais refusons l'accès au répertoire pour tous les autres utilisateurs du système :
$ sudo chmod 700 /home/sftpuser/
Notre configuration SFTP est terminée ; nous pouvons maintenant nous connecter pour nous assurer que tout fonctionne correctement.
Se connecter au serveur SFTP via la ligne de commande
Vous pouvez vous connecter via SFTP avec le nom d'hôte ou l'adresse IP de votre système. Pour tester à partir du même système que celui sur lequel vous venez de configurer SFTP, en vous connectant à l'adresse de bouclage
127.0.0.1
fonctionnera très bien.
- Ouvrez un terminal et connectez-vous à l'aide de la commande sftp :
$ sftp [email protected]'authenticité de l'hôte '127.0.0.1 (127.0.0.1)' ne peut pas être établie. .Êtes-vous sûr de vouloir continuer à vous connecter (oui/non/[empreinte digitale]) ? ouiAttention :Ajout permanent de '127.0.0.1' (ECDSA) à la liste des hôtes connus.
- Naviguez jusqu'au répertoire personnel de l'utilisateur, car c'est le seul endroit où il dispose d'autorisations. Ici, essayez de créer un nouveau répertoire pour confirmer que tout fonctionne comme prévu :
sftp> cd sftpusersftp> mkdir sftp-testsftp> lssftp-test sftp>
Se connecter au serveur SFTP via l'interface graphique GNOME
Vous pouvez également vous connecter à votre serveur SFTP par interface graphique, si vous préférez. Il existe de nombreuses options pour les clients SFTP, mais l'interface graphique GNOME par défaut sur AlmaLinux offre déjà la possibilité de se connecter aux serveurs SFTP à partir du gestionnaire de fichiers. Voici comment l'utiliser pour vous connecter à votre serveur SFTP.
- Ouvrez le gestionnaire de fichiers depuis le menu Activités.
- Cliquez sur "Autres emplacements" et saisissez
sftp://127.0.0.1
dans la case "Se connecter au serveur" en bas de la fenêtre et cliquez sur se connecter.
Connectez-vous au serveur SFTP avec le gestionnaire de fichiers GNOME - Saisissez les informations d'identification du compte SFTP que nous avons configurées précédemment et cliquez sur se connecter. Entrez le nom d'utilisateur et le mot de passe SFTP
- Une fois la connexion établie, vous pourrez ouvrir votre répertoire personnel, où vous pourrez charger et télécharger des fichiers. Connexion réussie au serveur SFTP
Réflexions finales
Dans ce guide, nous avons appris à créer un serveur FTP ou SFTP sur AlmaLinux. Nous avons également vu comment se connecter au serveur FTP/SFTP via la ligne de commande ou l'interface graphique GNOME. Nous avons pu accomplir cette fonctionnalité via VSFTPD et OpenSSH, qui nous permettent d'héberger respectivement FTP ou SFTP.