Pour les développeurs, le terminal est un outil familier, mais parfois, il est souhaitable de gérer des fichiers et des répertoires de manière intuitive dans un environnement GUI (interface utilisateur graphique). En particulier, lorsque vous devez vous connecter à un serveur dédié au terminal, il peut être fastidieux de déplacer des fichiers ou de comprendre la structure.

Dans ce cas, la solution idéale est SFTP (SSH File Transfer Protocol) et un explorateur de fichiers GUI local qui le prend en charge. C'est comme si vous exploriez et gériez le système de fichiers du serveur distant exactement comme vous le feriez avec les dossiers de votre ordinateur local !

Utilisation simultanée d'un explorateur de fichiers GUI et d'un terminal


Qu'est-ce que SFTP ?

SFTP est une méthode de transfert de fichiers basée sur le protocole SSH (Secure Shell). Comme son nom l'indique, il offre des fonctionnalités similaires à celles du FTP (File Transfer Protocol), mais grâce à la puissante fonctionnalité de cryptage de SSH, il permet de transmettre des fichiers de manière beaucoup plus sécurisée.

  • FTP vs. SFTP : FTP transfère des noms d'utilisateur, des mots de passe et des contenus de fichiers en clair, ce qui le rend vulnérable en matière de sécurité. En revanche, SFTP crypte toutes les communications via un tunnel SSH, permettant ainsi d'envoyer des informations sensibles en toute sécurité.
  • Fonctionnalités au-delà du transfert de fichiers : Au-delà du simple transfert de fichiers, vous pouvez explorer le système de fichiers du serveur distant, créer/supprimer des répertoires et modifier les permissions de fichiers.

La commande ssh que nous utilisons généralement a comme objectif principal d'exécuter des commandes sur un serveur distant via le terminal, mais vous pouvez comprendre que SFTP est spécialisé dans l'accès au système de fichiers.


Intégration de SFTP avec un explorateur de fichiers GUI : Gérer les fichiers sans terminal

Dans un environnement GUI Linux, vous pouvez accéder au serveur distant et gérer des fichiers dans un environnement GUI simplement en entrant l'adresse SFTP dans l'explorateur de fichiers par défaut (par exemple, Nautilus sous Ubuntu, Dolphin sous KDE). Cela peut rendre le flux de travail de développement beaucoup plus efficace.

Méthode de connexion (pour Linux)

  1. Ouvrir l'explorateur de fichiers : Ouvrez votre explorateur de fichiers Linux, qu'il s'agisse de Nautilus (Fichiers), Dolphin, ou autre.

  2. Sélectionner '+ Autre emplacement' ou 'Explorer le réseau' : Cela se trouve généralement en bas de la barre latérale gauche de l'explorateur de fichiers.

  3. Entrer l'adresse du serveur : Entrez l'adresse SFTP dans le champ de saisie suivant ce format :

    sftp://[nom_utilisateur]@[hôte_cible]:[port]

    • [nom_utilisateur] : Le nom du compte utilisateur pour se connecter au serveur distant. (Peut être omis si le nom d'utilisateur local et distant est le même.)
    • [hôte_cible] : L'adresse IP ou le nom de domaine du serveur distant.
    • [port] : Le numéro de port SSH. Peut être omis si vous utilisez le port par défaut (22).
      • Exemple : sftp://myuser@myremoteserver.com:2222 (utilisant le port 2222)
      • Exemple : sftp://admin@192.168.1.100 (utilisant le port 22 par défaut)
      • Exemple : sftp://myremoteserver.com (utilisant les valeurs par défaut pour le nom d'utilisateur et le port)
    • Entrer les informations d'identification : Une fenêtre d'authentification apparaîtra pour SSH par clé ou par mot de passe. Entrez les informations selon votre mode d'accès au serveur, puis cliquez sur 'Connecter' ou 'Authentifier'.

    • Utilisation d'une clé SSH : Il se peut qu'une fenêtre vous demande le mot de passe (passphrase) de cette clé. Si vous n'avez pas défini de passphrase, le fichier id_rsa ou id_ed25519 sera automatiquement reconnu et vous serez connecté immédiatement.

    • Utilisation d'un mot de passe : Entrez le mot de passe d'accès au serveur.
  4. Connexion réussie : Une fois l'authentification effectuée avec succès, le système de fichiers du serveur distant sera monté dans votre explorateur de fichiers local. Vous pourrez maintenant copier, déplacer ou supprimer des fichiers comme si vous travailliez sur votre disque local, ou créer de nouveaux répertoires.

  5. Enregistrement du serveur connecté dans les favoris par clic droit vous permettra d'utiliser son système de fichiers comme un lecteur monté de votre machine locale à tout moment.

Exemple dans Nautilus (Ubuntu) :

  1. Ouvrez Nautilus.
  2. Cliquez sur + Autre emplacement dans la barre latérale gauche.
  3. Dans le champ en bas pour Se connecter au serveur, entrez par exemple sftp://myuser@myremoteserver.com ou sftp://myuser@123.45.67.89:2222 puis appuyez sur le bouton Connexion.
  4. Dans la fenêtre d'authentification, entrez votre mot de passe ou le mot de passe de la clé SSH.
  5. Après une connexion réussie, le répertoire personnel de myremoteserver.com apparaîtra dans Nautilus et vous pourrez explorer et gérer les fichiers comme si c'étaient des dossiers locaux.

Pourquoi cette méthode est-elle utile ?

Cette connexion SFTP basée sur une interface graphique est d'une grande aide dans divers scénarios lors du processus de développement.

  1. Exploration et gestion de fichiers intuitive : Idéale pour ceux qui ne sont pas familiers avec les commandes terminal (ls, cd, cp, mv, rm, etc.), ou qui souhaitent visualiser facilement une structure de répertoire complexe. Il est possible de déplacer facilement les fichiers par glisser-déposer. Ne pas avoir à taper manuellement les noms de fichiers et les chemins dans le terminal est vraiment un énorme avantage.
  2. Édition de fichiers de configuration/scripts : Vous pouvez ouvrir et modifier directement les fichiers de configuration ou les scripts du serveur avec vos éditeurs de texte GUI locaux préférés (VS Code, Sublime Text, Atom, etc.) et les enregistrer. Cela est particulièrement pratique pour ceux qui ont du mal avec les éditeurs basés sur le terminal (Vim, Nano).
  3. Vérification des fichiers journaux : Il est facile d'ouvrir d'énormes fichiers journaux sur le serveur avec un explorateur graphique, de les télécharger localement pour analyse ou de rechercher rapidement des parties spécifiques.
  4. Gestion des fichiers image et médias : Lorsque vous devez visualiser ou prévisualiser des images ou des fichiers médias stockés sur le serveur, un environnement GUI est beaucoup plus efficace.
  5. Collaboration avec des non-développeurs : Les planificateurs ou designers qui ne sont pas des développeurs peuvent gérer certaines ressources du serveur (par exemple, images, documents PDF) sans avoir besoin d'apprendre à utiliser des commandes terminal en leur proposant un environnement GUI.

Conclusion

L'intégration d'une interface graphique avec SFTP offre un confort révolutionnaire aux utilisateurs qui ne sont pas familiers avec la gestion des fichiers serveur via des commandes terminal. Même pour des développeurs expérimentés, il arrive que l'intuition d'une interface graphique soit plus efficace que le terminal.

Ouvrez dès maintenant votre explorateur de fichiers Linux, entrez l'adresse SFTP et apportez les fichiers du serveur distant à portée de main ! Vous découvrirez une autre facette utile de SSH.

Si vous avez d'autres questions sur cette fonctionnalité, n'hésitez pas à les poser !