Bannière

Métadonnées du document:
[ Auteur : Clockover ][ Création le : 14/07/2007 ][ Dernière modification le : 16/07/2007 ][ Version : 2.1 ]

Lien réseau sécurisé entre deux systèmes de fichiers

Introduction:

Cet article présente l'utilisation de l'outil: sshfs.
Il permet de monter un système de fichier distant à travers une connexion SSH. Autrement dit, il est possible de travailler sur les fichiers d'une machine distante comme si ils étaient sur la machine locale. On profite également du chiffrement apporté par le protocole SSH.

Pré-requis:

flecheVérification de la présence du module FUSE

Tout d'abord, il faut vérifier le support du module FUSE par votre noyau.
Pour cela, ouvrez le fichier /boot/config-xxx correspondant à la version du noyau en exploitation. Dedans, vous devriez trouver la ligne:
CONFIG_FUSE_FS=m
Sinon, il va vous falloir soit recompiler votre noyau en ajoutant le support de FUSE, soit vous servir de votre gestionnaire de paquetage habituel (apt-get, yum...) pour trouver un module déjà pré-compilé.

flecheCompilation du module (sur noyau de série 2.6.x):

Le but de cet article n'est certainement pas de parler d'une compilation de noyau Linux, je me limiterais donc à montrer où se trouve l'option.
Vous la trouverez donc dans:
+File systems
+Filesystem in Userspace Support
 
menuconfig
Illustration: Support de FUSE en module

Activation du module FUSE:

Pour activer le module, il suffit simplement de faire la commande suivante:
modprobe fuse
Ensuite si vous désirez rendre cette opération systématique au redémarrage de la machine, il suffit de rentrer fuse dans le fichier: /etc/modules.

Installation:

Lorsque la machine est prête, il ne reste plus qu'à lancer l'installation à l'aide de la commande (sous Debian):
apt-get install sshfs
(Les dépendances de sshfs seront également installées: libfuse2, fuse-utils, libc6 et libglib2)

Utilisation:

flecheMonter un système de fichier distant

L'outil sshfs est maintenant fonctionnel. Pour s'en servir, il suffit de taper la commande:
sshfs user@hôte_distant:/répertoire/distant/ /répertoire/local/

user
: nom d'utilisateur sur la machine distante.
hôte_distant : adresse FQDN ou IP de la machine distante.
/répertoire/distant/ : Répertoire distant que l'on veut monter (en partant de la racine).
/répertoire/local/ : Répertoire local où l'on veut monter le système de fichier.

flecheDémonter le système de fichier

Pour démonter le système de fichier distant, il faut simplement taper:
umount /point/de/montage/

flecheScripter la connexion

Il existe plusieurs manières de procéder pour monter automatiquement la cible au déammarrage du poste. Nous le ferons tout bêtement avec un script bash. Pour cela, il suffit de créer un fichier nommé: S90sshfs (par exemple) dans le répertoire: /etc/rc2.d/ (sous Debian en mode console).
Dans ce fichier, nous pourrons mettre tout simplement:
#!/bin/bash
sshfs user@hôte_distant:/répertoire/distant/ /répertoire/local/

flecheRendre transparente l'authentification

Le problème maintenant est que l'authentification SSH n'est pas automatique donc notre script ne pourra pas s'achever sans interventions humaines.
Pour cela, on doit générer une paire de clé sur la machine cliente (celle sur laquelle l'on veut monter le répertoire distant) à l'aide de la commande:
ssh-keygen -t dsa
Avant de générer les deux clés, l'assistant demandera une "Passphrase" qu'il faut laisser vierge si l'on veut justement éviter de rentrer un mot de passe.
Une fois cette opération faite, il faut récupérer la clé publique générée qui se trouve alors dans le fichier $home/.ssh/id_dsa.pub ($home étant le chemin vers votre répertoire utilisateur) pour la placer sur le poste distant dans le fichier $home/.ssh/authorized_keys2 précédé de: from="ip" (ou ip correspond à l'adresse FQDN du poste local ou à son adresse IP).

Pour aller plus loin:

Bien sûr en tout premier lieu, je vous invite à découvrir le manuel de sshfs (man sshfs).

Le site officiel de FUSE (US) : ici
Tutorial Ubuntu-fr (FR) : ici

Il y a 0 commentaire(s) sur ce sujet.
L'intégralité du portail est placé sous licence Creative Commons License NC v2.0 (sauf mentions contraires indiquées sur les pages et/ou documents concernés !). Version: 4.2
Ce portail répond normalement aux critères de compatibilité XHTML v1.1 et CSS v2.0 du W3C:
Valid XHTML 1.1! Valid CSS 2.0!

Page générée en 0.004 secondes