La plupart des gens préfèrent des utilitaires comme FileZilla, WinSCP ou d’autres programmes FTP lorsqu’ils ont besoin de transférer des fichiers vers ou depuis des serveurs Linux. SFTP est une alternative sécurisée au protocole FTP d’origine. Il remplit principalement les mêmes fonctions que sa version non sécurisée, mais avec une couche de cryptage supplémentaire. Pour ce faire, il utilise le protocole SSH qui lui fournit des capacités de cryptage. La configuration d’un serveur SFTP sur votre système Linux implique plusieurs étapes, que nous présentons ici.

Qu’est-ce que SFTP ?

SFTP (Secure File Transfer Protocol) est un protocole réseau permettant de transférer des fichiers d’un client vers un serveur. Contrairement à FTP (File Transfer Protocol), SFTP utilise le protocole SSH (Secure Shell) pour crypter les données envoyées. Il a été développé par des informaticiens, Tatu Ylönen et Sami Lehtinen, également responsables du développement du protocole SSH dans les années 1990. Cependant, la version moderne est développée par l’IETF (Internet Engineering Task Force).

Il peut être décrit comme un protocole de système de fichiers distant, même si son nom suggère qu’il n’effectue que des opérations de transfert de fichiers. Lors de l’envoi d’un fichier à l’aide de SFTP d’un client à un serveur de réception, les données sont cryptées avant d’être envoyées à la destination. Si les données envoyées sont interceptées par un «man-in-the-middle», elles ne peuvent pas être facilement déchiffrées par ce tiers.

Installation de SSH et du serveur OpenSSH

Nous commençons le processus de configuration du serveur SFTP en installant SSH et le serveur OpenSSH.

La plupart des installations Linux ont déjà SSH installé par défaut, mais si votre système ne l’a pas, vous pouvez l’installer en utilisant l’Advanced Packaging Tool. apt commander:

Après avoir installé SSH, vous pouvez vérifier sa version en exécutant le ssh commande avec le -V drapeau:

Vérification de la version Ssh

Vous pouvez installer le serveur OpenSSH sur les systèmes Debian et Ubuntu, par exemple, en utilisant le apt commander:

Vous pouvez faire la même chose sur Arch Linux en utilisant le pacman commander:

Création d’utilisateurs, de groupes et de répertoires pour SFTP

C’est une recommandation courante que les différents services sous Linux utilisent leurs propres utilisateurs, groupes et répertoires.

Commencez par créer un groupe pour les utilisateurs de SFTP. Ceci est accompli en utilisant le groupadd commander:

Vous pouvez créer un utilisateur et l’ajouter au groupe qui a été créé en utilisant le useradd commande et ses -g drapeau, qui est utilisé pour spécifier le groupe dont l’utilisateur fera partie :

Après avoir créé l’utilisateur, attribuez-lui un mot de passe à l’aide de la passwd commander:

Modification du mot de passe de l'utilisateur Sftp

Créez le répertoire par défaut pour l’utilisateur nouvellement créé :

Utilisez le chown commande pour donner au répertoire les permissions nécessaires :

Configuration du serveur SSH

La prochaine étape de configuration d’un serveur SFTP consiste à configurer le serveur SSH qu’il utilisera.

Modifiez le fichier « sshd_config » trouvé dans « /etc/ssh/ » afin que l’utilisateur utilise le shell SFTP lors de la connexion au serveur au lieu du shell SSH.

Vous pouvez facilement modifier le fichier à l’aide de l’éditeur Nano couramment utilisé sur de nombreuses installations Linux par défaut :

Trouvez le bas du fichier et ajoutez ce qui suit :

Éditeur Nano Modifier la configuration Sshd

Redémarrez le service SSH :

(Facultatif) Modification du port SFTP

Si vous souhaitez modifier le port utilisé par le serveur SFTP de la valeur par défaut de 22 à l’option choisie, vous devrez modifier à nouveau le fichier « sshd_config ».

Modifiez à nouveau le fichier à l’aide de l’éditeur Nano :

Recherchez une ligne dans le fichier avec la valeur de port par défaut de 22 commentée :

Vous pouvez supprimer le signe dièse (#) utilisé pour commenter la ligne et ajouter votre choix de valeur de port. Dans mon cas, je change la valeur en 1111 :

Maintenant, enregistrez simplement le fichier

Nano Editor Modifier le numéro de port de configuration Sshd

et redémarrez le serveur :

Connexion et utilisation du serveur

Une fois le serveur installé et configuré, il est prêt à l’emploi. Vous pouvez facilement télécharger des fichiers et les télécharger, le tout avec une session cryptée fournie par SSH.

Avant de vous connecter, cela ne fera pas de mal de jeter un œil au manuel fourni :

Manuel Sftp

Connectez-vous au serveur en fournissant le nom d’utilisateur et l’adresse IP ou le nom d’hôte du serveur au format suivant :

De plus, vous pouvez spécifier le port utilisé par votre serveur SFTP (la valeur par défaut est 22) en utilisant le -P drapeau:

Lorsque vous vous connectez, vous êtes accueilli par un shell SFTP.

Afficher un manuel en tapant help.

Commande d'aide Sftp 1

Téléchargement de fichiers

Pour télécharger un fichier :

Exemple:

Cela sera téléchargé dans votre répertoire actuel – celui dans lequel vous étiez localement avant de vous connecter au serveur. Pour télécharger dans un répertoire local spécifique :

Pour copier des répertoires, vous devez ajouter le -r paramètre, qui signifie récursif, à la commande.

répertoire-copie-sftp

N’oubliez pas d’ajouter un nom pour le nouveau répertoire que vous souhaitez créer localement, comme « /home/username/Desktop/bin » dans ce cas. Si tu utilises get -r /bin /home/username/Desktop, les fichiers seront copiés directement sur le Bureau. Notez que ce sont les fichiers qui sont copiés et non le répertoire lui-même.

Télécharger des fichiers

Le téléchargement de fichiers ou de répertoires suit les mêmes principes. La seule exception est que les chemins sont inversés, ce qui signifie que vous spécifiez d’abord le fichier/répertoire local, puis le chemin distant.

Pour commencer, téléchargez des fichiers sur le serveur en utilisant le put commander:

Lors du téléchargement de répertoires (récursif), rappelez-vous que la même règle de la section précédente s’applique : ce sont en fait les fichiers du répertoire qui sont copiés et non le répertoire lui-même. Spécifiez un nouveau nom pour un répertoire dans lequel vous souhaitez copier ces fichiers.

Cela crée un nouveau répertoire appelé « bin » du côté distant.

Reprendre les transferts et utiliser des chemins contenant des espaces

Lorsque vous transférez un fichier volumineux interrompu, vous pouvez reprendre en remplaçant la commande précédente par reput et reget. Assurez-vous simplement d’utiliser les mêmes chemins que vous avez utilisés la dernière fois afin que la source et la destination correspondent exactement.

Pour reprendre les transferts de répertoire, ajoutez simplement le -r paramètre:

Si le chemin d’accès à un fichier contient des espaces, placez-le entre guillemets :

Autres utilisations

Vous pouvez lister les fichiers et les répertoires en utilisant le ls commander:

Les autorisations des fichiers sont également modifiables à l’aide de la chmod commander:

De plus, vous pouvez créer un nouveau répertoire à l’aide de la commande mkdir :

Questions fréquemment posées

1. Dois-je installer un client SFTP ?

Dans la plupart des cas, non, car la plupart des systèmes Linux sont livrés avec un client SFTP basé sur un terminal installé par défaut.

2. Puis-je utiliser l’authentification par clé publique ?

Oui, vous pouvez utiliser l’authentification par clé publique au lieu d’un mot de passe comme méthode d’authentification. Sa configuration est assez simple et offre une sécurité supplémentaire à votre serveur.

3. Puis-je héberger simultanément un serveur SSH ?

Oui. Cependant, vous devrez vous assurer que votre serveur SFTP n’utilise pas le même port que le serveur SSH.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici