Linux, accéder à vos fichiers distants en toute sécurité

Tout le monde (enfin ceux qui en ont besoin, webmaster, bidouilleur, possesseur d’un serveur) utilise ou au moins connait les connexions SSH pour accéder à son système distant grâce à un terminal mais moins connaissent SSHFS qui permet d’accéder un un répertoire distant tout en utilisant l’interface de sont poste client.Bon, cela faisait un moment que je n’ai pas fait de petites publications mais en parcourant internet, je suis tombé sur un site vantant le SSHFS et je me suis dit :

ben oui, ce n’est pas nouveau.

En faite, je me suis rendu compte que j’utilisai déjà depuis un moment ce type de connexion qui est beaucoup plus simple qu’une simple connexion SSH. Mais de quoi je parle exactement. Je ne vais pas faire une leçon sur ce qu’est le SSH, le FTP, le SFTP, SSHFS mais simplement expliquer ce qu’est le SSHFS et pourquoi il est commode de l’utiliser.

Le SSHFS, mais c’est quoi?

Depuis le début, je parle de SSH et SHFS (et une fois de FTP et SFTP), mais je n’ai toujours pas dit ce que c’était.

Commençons par le SSH, vous l’utilisez certainement fréquemment (sinon vous ne serez pas là) mais vous ne trouvez peut-être pas l’utilisation des lignes de commande facile puis l’utilisation d’un éditeur (type nano ou vim) n’est pas le plus simple alors que sur votre ordinateur (que vous utilisez pour accéder à votre serveur), vous avez un éditeur.

Maintenant le FTP est une manière d’échanger des fichiers de votre poste à votre serveur, la modification d’un fichier se fait avec votre éditeur favori sur votre debian mais nécessite une action pour reverser le dossier vers le serveur. SFTP est simplement du FTP qui va utiliser le canal SSH.

Et si on additionne les deux, on obtient ???… Dans le mille, le SSHFS, il s’agit simplement d’un système de fichier qui va passer par un canal SSH en montant dans un de ces dossiers notre répertoire distant.

Quel est l’intérêt du SSHFS ?

L’intérêt du SSHFS est de pouvoir naviguer sur son dossier distant de la même manière qu’un des dossiers qui est sur mon poste client.

Comment utiliser le SSHFS ?

Le plus simple si cela vous paraît un peu flou est de tester.

Prérequis

Vous allez avoir besoin de deux postes :

  • un client avec un système GNU/Linux sur lequel vous devez installer le paquet sshfs (pour un debian, faire : sudo apt-get install sshfs. Le client vous permettra d’accéder au répertoire. Il existe des logiciel pour y avoir accès à partir de windows mais je n’ai pas testé.
  • un serveur avec une connexion ssh ouverte, vous devez avoir un accès (utilisateur / mot de passe)

Utilisation sshfs

Sur le serveur, à partir du moment où la connexion ssh est valide, pas besoin de faire autre chose,  voir comment se connecter en ssh.

Ensuite sur le poste à partir duquel vous voulez travailler, commencez par créer un dossier : mkdir temp, ensuite dans un terminal, faire :

sshfs utilisateur@adresse:/dossier_distant dossier_local
  • utilisateur doit être remplacé par le nom utilisateur pour votre connexion ssh
  • adresse correspond soit à une adresse IP ou un site
  • /dossier_distant est le dossier auquel vous voulez accéder
  • dossier_local est le dossier dans lequel va apparaître votre dossier distant

Un exemple pour un possesseur d’un raspberry pas très soucieux de la sécurité :

sshfs pi@192.168.0.12:/home/pi temp -p 21

J’ai inscrit une option -p qui correspond au port, si vous ne mettez pas cette option, par défaut le port 21 sera utilisé. A l’issu de cette commande, le mot de passe sera demandé et vous aurez accès au dossier personnel de l’utilisateur pi du poste distant dans le dossier local temp.

Comme toute connexion ssh, si la connexion n’est pas utilisez, le tunnel ssh se fermera mais pour le fermer manuellement, vous devrez faire :

fusermount -u dossier_local

Bien entendu, remplacer dossier_local par votre dossier (dans mon exemple, il s’agirait de temp).

Conclusion

Voilà, maintenant vous êtes armés pour utiliser sereinement le système de fichier sshfs.

Laisser un commentaire