Présenter un partage via SSHFS

De SeRoM - Wiki
Aller à : navigation, rechercher

Intro

J'ai branché un nouveau disque USB sur mon petit serveur maison. Le but est d'en faire un dossier partagé pour déposer les quelques films et séries. Ce disque doit donc être accessible via les 3 PC de la maison, comme si ce partage était local à la machine.

Je ne suis pas un grand fan des partage NFS, et encore moins CIFS/Samba. Alors il me reste SSHFS. Et ça tombe bien celui-la me plaît pas mal. Rien à installer du coté de la machine serveur puisse que c'est le démon SSHd qui va faire le boulot. Sur les autres PCs de la maison (clients), deux petits packages et un petit script au démarrage de Gnome. Cela reste fort raisonnable.

Puisse que l'on se base sur SSH, et pour faire proprement les choses, je propose de créer

  • Un user partage sur le serveur,
  • de monter le disque de partage dans le homedir de ce user,
  • D'échanger la clé SSH de ce user sur les PCs de la maison pour ne pas devoir taper de mot de passe.

Coté serveur

Première étape: Création du user partage

On crée un simple user partage:

 adduser partage

Création et montage du disque

Je vous passe rapidement la création d'une partition sur le disque USB (/dev/sdc), création d'un filesystem ext4 et montage via fstab.

 cfdisk /dev/sdc
 partprob /dev/sdc
 mkfs.ext4 /dev/sdc
 echo "/dev/sdc1	/home/partage/disquePartage	ext4	defaults	0 2" >> /etc/fstab
 mount /dev/sdc1

Coté client

Installation de sshfs et fuse

On va installer les deux packages requis sur les machines clientes:

  • sshfs, c'est le client filesystem basé sur SSH.
  • fuse, sert à monter un filesystem en tant qu'utilisateurs non privilégiés.
 aptitude install sshfs fuse-utils

Partage des clés SSH

Si nous n'avons pas encore de clé ssh généré sue notre PC client, créons la:

 ssh-keygen -t dsa

Il faut maintenant envoyer la partie publique de notre nouvelle clé au user partage sur le serveur:

 ssh-copy-id -i .ssh/id_dsa.pub partage@serveur.domain

Le montage

Voila on doit être capable de monter le disque partagé avec la commande suivante:

 sshfs partage@serveur.domain:/home/partage/disquePartage ~/Video/partage/

Le but n'est évidement pas taper cette commande à la main à chaque fois. Automatisons cela avec un petit script.

Script

Le script est tt bête, il exécute simplement la commande précédente. Par contre on va faire lancer le script comme Application au démarrage de Gnome. J'ai donc du rajouter une petit sleep de 15 seconde, histoire d'être certain que les pré-requis pour le montage soit déjà chargés.

Créons un fichier /usr/bin/autoMontePartage.sh:

 #!/bin/bash
 
 REMOTE_HOST="serveur.domain"
 REMOTE_LOGIN="partage"
 REMOTE_DIR="/home/partage/disquePartage"  
 LOCAL_DIR="~/Video/partage/"
 
 sleep 15
 /usr/bin/sshfs $REMOTE_LOGIN@$REMOTE_HOST:$REMOTE_DIR/ $LOCAL_DIR

Ajout aux applications de démarrage de Gnome

Ouvrons le panneau de configuration des applications de démarrage et complétons comme ceci:

  • Système > Préférences > Applications au démarrage
    • Nom: Partage automonté
    • Commande: /usr/bin/autoMontePartage.sh
    • Commentaire: Auto-montage du partage

Références