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