2

Jan

by Maniack Crudelis

Un petit tuto simple pour partager des données entre plusieurs ordinateurs de façon sécurisée et pratique.

L'idée est simple, plutôt que d'utiliser une clé USB, peu pratique, ou un partage nfs qui se restreint au réseau local. On va monter un dossier distant à travers une connexion ssh. Sécurisé, rapide et accessible de n'importe où.

Avant de débuter, les prérequis:

- Avoir un serveur ssh opérationnel, c'est lui qui hébergera le dossier de partage.
- Sur chaque client, pour utiliser sshfs, il faut évidemment avoir openssh-client (installé par défaut en général). Mais si le serveur ssh est déjà en place, on peut supposer que les clients sont opérationnels eux aussi.

Pour commencer, on va installer sshfs

apt-get install sshfs

sshfs va nous permettre de monter un dossier distant dans un dossier local via ssh.
On l'utilise de la manière suivante:

sshfs 'login'@'serveur':/dossier_parent/dossier_de_partage -p 22 dossier_local

'login'@'serveur' de la même manière que pour
une connexion ssh habituelle.
Le dossier de partage est le dossier distant sur le serveur ssh, le dossier local le dossier dans lequel on va faire le montage.

L'option -p est à utiliser uniquement si vous n'utiliser pas le port standard.

Ceci va donc monter le dossier distant dans le dossier local.
Pour ne pas consommer inutilement des ressources, nous allons démonter le dossier de partage après utilisation.

fusermount -u dossier_local

Prenons un exemple plus concret avec le partage utilisé par Servus.
On monte le dossier par
sshfs maniack@crudelis.fr:/media/HD/Dossier de partage -p 2222 /media/DOCUMENTS/test
Et on le démonte par
fusermount -u /media/DOCUMENTS/test

Tout cela nous permet donc de monter un dossier depuis notre serveur ssh. Mais ça reste toutefois assez contraignant à mettre en œuvre.
Pour créer un véritable dossier de partage simple et pratique, nous allons automatiser ce processus.

Partie serveur:
Tout d'abord, on créer un dossier sur le serveur, sur lequel on donne les droits d'écriture. Ce sera notre dossier de partage. Appelons-le 'partage' et plaçons le dans '/media/HD/partage'.

Partie client:
Ensuite, nous créons un dossier sur le poste client qui accueillera le montage. Pour notre exemple ce sera 'share_dir' dans '/media/disque/share_dir'
Dans ce dossier share_dir, on place le script suivant:

#!/bin/bash
sshfs maniack@crudelis.fr:/media/HD/partage -p 2222 -o nonempty /media/disque/share_dir

Le script va donc monter le dossier distant 'partage' dans le dossier dans lequel il se trouve. L'option -o nonempty permettant d'autoriser le montage alors que le dossier n'est pas vide.

En rentrant dans le dossier share_dir, il suffit maintenant d'exécuter le script pour monter le dossier de partage.
On peut à présent se servir de notre dossier de partage et y mettre tout ce qu'on désire.

Après l'avoir utilisé, il va falloir le démonter.
Pour cela nous allons écrire un autre script

#!/bin/bash
fusermount -u /media/disque/share_dir

Placez ce script là où vous le voulez (en ce qui me concerne, au fond de mes documents avec d'autres scripts que je garde sous le coude). La seule contrainte est qu'il ne doit pas se trouver dans le dossier de partage. Sans quoi il ne fonctionnerais pas.
Pour notre exemple, nous allons le placer dans /media/disque/scripts/.
Ceci fais nous créons un lien symbolique du script dans le dossier de partage monté.

ln -s /media/disque/scripts/Umount_share_dir.sh /media/disque/share_dir/Umount_share_dir

!!!-- Attention le lien symbolique doit être placé dans le dossier une fois monté, donc le dossier '/media/HD/partage' sur le serveur. --!!!

Nous voila maintenant avec un dossier de partage qui se monte simplement par exécution du script et qui se démonte encore plus simplement par un double clic sur le lien Umount_share_dir

Afin que ce dossier de partage en soit vraiment un, il faut maintenant reproduire la partie client sur chacun des postes qui doivent accéder au partage.
Vous pouvez maintenant partager des fichiers facilement entre vos différentes machines, de façon simple, sécurisée et rapide. Et cela où que vous soyez tant que vous disposez d'une connexion internet.

Bien que cette méthode soit très pratique pour partager des fichiers très simplement, elle a quelques inconvénients.
- Le script de démontage ne peut pas être placé à l'intérieur du dossier partagé. Ceci empêche le démontage.
- Ce même script doit se trouver au même endroit (entendre même chemin absolu) sur toutes les machines qui utilisent le partage, sauf à multiplier d'autant les liens de démontage.
- Le script de montage ne supporte pas d'être exécuté via un raccourci ou à travers xterm. Ce qui aurait pu permettre de l'exécuter par un simple double clic.

Note:
Si le démontage est inefficace, vérifiez bien qu'aucun programme n'utilise encore le dossier. En particulier,
quittez le terminal après avoir effectué le montage.

Comments

Leave a Reply