Comment configurer le serveur SFTP dans Ubuntu

Comment configurer le serveur SFTP dans Ubuntu

SFTP est l'acronyme du «protocole de transfert de fichiers sécurisé» qui est utilisé pour transférer des fichiers d'un endroit à un autre endroit en utilisant Internet et il fonctionne de manière similaire à FTP (protocole de texte de fichier), mais la différence dans les deux est que SFTP garantit également La confidentialité du fichier à l'aide du service SSH, qui sécurise les données du fichier en les cryptant, afin que personne ne puisse accéder aux données.

Bien qu'il ait l'avantage qu'il crypte les données et les transfère à l'emplacement de destination plus solidement, il a également un inconvénient; En atteignant l'emplacement de destination, tout utilisateur peut y accéder. Donc, pour le rendre plus sécurisé, nous devons restreindre les autres utilisateurs à y accéder, à part les utilisateurs autorisés.

Dans cet article, nous discuterons de la façon d'installer SFTP dans Ubuntu, s'il n'est pas déjà installé, et comment le configurer en utilisant les commandes simples d'Ubuntu.

Comment installer le serveur SFTP dans Ubuntu

Le serveur SFTP est généralement installé dans Ubuntu par défaut, mais s'il n'est pas déjà installé, on peut installer SSH en utilisant les commandes simples d'Ubuntu. Parce que SFTP utilise le serveur SSH, donc pour vérifier que le serveur SFTP est déjà installé ou non, nous exécuterons la commande mentionnée ci-dessous:

$ sudo systemctl status ssh

La sortie est affichée, SSH n'est pas installée dans notre Ubuntu, pour l'installer, exécutez la commande suivante d'Ubuntu:

$ sudo apt install ssh -y

Une fois qu'il est installé, nous l'activerons à l'aide de la commande SystemCTL:

$ sudo systemctl activer ssh

Maintenant, à nouveau en utilisant la commande SystemCTL, démarrez-le:

$ sudo systemctl start ssh

Pour vérifier l'installation de SSH vérifie son état à l'aide de la commande SystemCTL:

$ sudo systemctl status ssh

L'état de course de SSH montre qu'il a été installé avec succès.

Comment créer un compte utilisateur SFTP

Nous pouvons soit créer des utilisateurs directement ou en créant un groupe de SFTP, puis créer des utilisateurs pour leur donner accès au SFTP. Pour créer un groupe, par exemple, nous l'appelons «SFTP», vous pouvez le nommer en fonction de votre choix, exécuter ce qui suit dans un terminal:

$ sudo addgroup sftp

Pour créer un utilisateur, «John», vous pouvez renommer «John» avec votre propre nom d'utilisateur, exécutez la commande suivante:

$ sudo useradd John

Pour la vérification de la nouvelle création d'utilisateurs, exécutez:

$ moins / etc / passwd | grep John

Pour ajouter un mot de passe pour ce nouvel utilisateur, exécutez:

$ sudo passwd John

Pour déplacer l'utilisateur, «John» au groupe «SFTP» exécute la commande:

$ sudo usermod -a -g sftp John

Pour vérifier que l'utilisateur, John, a été ajouté au groupe, SFTP, exécute l'instruction:

$ grep sftp / etc / groupe

Comment créer un répertoire pour les transferts de fichiers

Pour comprendre comment restreindre l'accès à un répertoire pour les autres utilisateurs, nous créerons un «document» de répertoire dans PATH / VAR / SFTP qui appartiendra à Root. Ensuite, seul l'utilisateur «John» que nous avons créé peut accéder à ce répertoire et télécharger des fichiers dedans.

Pour ce faire, nous allons d'abord créer un répertoire de «document» en utilisant la commande mkdir:

$ sudo mkdir -p / var / sftp / document

Permettez à la racine, de reconnaître le propriétaire de / var / sftp:

$ sudo chown racine: racine / var / sftp

Accordez les autorisations d'écriture de ce répertoire dans le même répertoire et permettez à d'autres utilisateurs de se lire seule:

$ sudo chmod 755 / var / sftp

Accordez maintenant les autorisations du document à l'utilisateur John:

$ sudo chown John: John / var / sftp / document

Comment configurer le démon ssh

Une fois l'installation terminée, nous ouvrirons le fichier de configuration du serveur SSH avec n'importe quel éditeur et le configurerons. Dans cette configuration, nous limitons l'utilisateur, John, au répertoire / var / sftp, et aucun des autres utilisateurs ne peut accéder à ce répertoire. Nous utilisons un éditeur de texte nano pour le configurer afin que nous exécutons la commande suivante:

$ sudo nano / etc / ssh / sshd_config

Une fois le fichier ouvert, saisissez le texte suivant:

Faire correspondre l'utilisateur John
Chrootdirectory / var / sftp
X11 pour non
Autorisation
Forcemand interne-sftp

Lorsque le fichier est ouvert, en bas, vous verrez le texte «Sous-système SFTP / USR / LIB / OpenSSH / SFTP-Server», écrivez ces lignes après cette ligne. L'explication de ces cinq lignes est:

  • Faire correspondre l'utilisateur Le SSH indique à la mise en œuvre de ces modifications à l'utilisateur mentionné, dans notre cas, c'est «John»
  • Chrootdirectoire S'assure que l'utilisateur n'aura accès à aucun autre répertoire, sauf que la partie est fournie, dans notre cas, c'est «/ var / sftp»
  • Autorisation et X11 pour permettre ou désactiver la tunneling du port et X11 pour notre cas, les deux sont désactivés en tapant «non»
  • Commander Assurez-vous que le SSH exécute le serveur SFTP uniquement après la connexion

Une fois les modifications apportées, enregistrez les modifications en appuyant sur Ctrl + S, puis terminez l'éditeur en appuyant sur Ctrl + X.

Pour appliquer ces nouvelles modifications, redémarrez le serveur SSH en utilisant:

$ sudo systemctl redémarrer ssh

Comment vérifier les configurations de restriction

Pour vérifier les configurations de restriction, nous essaierons d'accéder aux fichiers à l'aide de la commande SSH normale:

$ ssh John @ localhost

La sortie montre que John ne peut être accessible par aucun autre SSH.

Comment se connecter au serveur SFTP à l'aide de la ligne de commande

Nous pouvons nous connecter à l'utilisateur protégé par le serveur SFTP dans la ligne de commande par l'utilisation de l'adresse de boucle qui est par défaut 127.0.0.1, une fois la commande exécutée, il demandera le jeu de mot de passe pour l'utilisateur:

$ sftp John @ 127.0.0.1

Il a été connecté au serveur SFTP. Répertoriez les répertoires de cet utilisateur à l'aide de la commande LS:

$ ls

La sortie montrant le répertoire, document qui a été limité pour cet utilisateur. Maintenant, cet utilisateur ne peut accéder à aucun autre répertoire autre que celui-ci.

Comment connecter le serveur SFTP à l'aide de l'interface graphique

Nous pouvons également accéder à SFTP à l'aide du mode GUI, allez simplement dans le dossier à domicile, choisissez d'autres emplacements, tapez sftp: // John @ 127.0.0.1 et cliquez sur la connexion.

Il demandera le mot de passe de l'utilisateur, tapez le mot de passe et cliquez sur Déverrouiller:

Enfin, il ouvrira le répertoire:

Comment supprimer le serveur SFTP

Pour supprimer ou désinstaller le serveur SFTP, supprimez simplement le SSH en utilisant la commande:

$ sudo apt purge ssh -y

Conclusion

Le serveur SFTP crypte le fichier et le transfère aux destinations, et décode le fichier là-bas pour communiquer les données en toute sécurité. La sécurité est nécessaire pour transférer des fichiers car parfois les fichiers contiennent des informations sensibles qui ne doivent être livrées qu'à la personne autorisée, cela peut être fait à l'aide de SFTP. Dans cet article, nous avons appris à installer SFTP s'il n'est pas installé par défaut dans Ubuntu, puis nous avons appris à créer un utilisateur de SFTP directement ou avec l'aide du groupe. Nous avons également appris la fonctionnalité de la restriction des fichiers à uniquement des utilisateurs sélectionnés ainsi que de la restriction de l'utilisateur à ce fichier particulier afin que l'utilisateur ne puisse pas passer à un autre répertoire. Enfin, nous avons appris à supprimer le serveur SSH de Ubuntu 20.04.