HOWTO : SSHFS sur Ubuntu/Debian

Cette procédure est obsolète SSHFS est directement intégrée dans les derniére version d'Ubuntu. Il possible de connecter un lecteur en SSH directement dans l'explorateur de fichier Nautilus (Fichier > Se connecter à un serveur).
D'autres méthodes sont également utilisables et décrites sur la documentation officiel d'Ubuntu : https://doc.ubuntu-fr.org/sshfs

A) Introduction

En attendant que FUSE et SSHFS soit intégré à l'environnement Gnome (normalement prévu pour la prochaine release 2.40), voici un script permettant d'utiliser de façon transparente et sécurisée votre espace de stockage hébergé sur la baie de disques comme s'il s'agissait d'un disque local ou une clé USB. La seule contrainte est de disposer d'un accès réseau et de pouvoir se connecter en SSH.

Note: Le même script sert à connecter et déconnecter la ressource ce qui permet de n'ajouter qu'un seul lanceur au tableau de bord de Gnome (cf. 5)

B) Configuration du système

Ouvrir un terminal et exécuter les commandes suivantes :

# Installation des paquets logiciels nécessaires :

      sudo apt-get install libfuse2 fuse-utils sshfs

# Chargement du module FUSE :

      ( lsmod | grep -q fuse ) || sudo modprobe fuse
      grep ^fuse /etc/modules || sudo echo "fuse" >> /etc/modules

# Ajout de l'utilisateur dans le groupe fuse

      ( groups $USER |grep -q fuse ) || sudo usermod -a -G fuse $USER

C) Utilisation

Le script s'utilise sans argument. Il suffit de modifier la valeur de la variable DISTUSER si votre nom de login actuel est différent de celui utilisé sur Sirius.

D) Le Script

(Cliquer sur sshfs_mount.sh pour le télécharger)

sshfs_mount.sh
#! /bin/bash
 
# Variable à configurer si nécessaire
DISTUSER=$USER          # Votre nom de login sur Sirius
 
# Autres variables
MNTPNT=/media/$USER\ sur\ Sirius\ \(sshfs\)
SSH_ASKPASS=/usr/lib/openssh/gnome-ssh-askpass
DISTUSER="$USER"
REP_DISTANT=""         # Utilise par défaut le homedir
 
# Teste si MNTPNT existe
[ -d "$MNTPNT" ] || { gksudo mkdir "$MNTPNT" && gksudo chown $USER "$MNTPNT"; }
 
# Si déjà monté, on démonte et on sort
if [ -n "$(mount -t fuse.sshfs |grep "$MNTPNT")" ]; then
         /bin/fusermount -z -u "$MNTPNT"
         exit 0
fi
 
# Teste le type de connexion avec un ping
TYPE=REMOTE
( ping -q -c 1 sirius.info-ua > /dev/null 2>&1 ) && TYPE=LOCAL
case "$TYPE" in
      REMOTE)
              SERVEUR=194.57.175.121
              PORT=22
              ;;
      LOCAL)
              SERVEUR=sirius.info-ua
              PORT=22
              ;;
esac
 
# Doing the job
sshfs $DISTUSER@$SERVEUR:$REP_DISTANT "$MNTPNT" -p $PORT || { echo "ERREUR : Connexion impossible" && exit 2; }

E) Rendre le script exécutable (INDISPENSABLE)

… puis tester son fonctionnement en l'exécutant depuis un terminal

F) Intégration au bureau Gnome

  • Clic droit dans la barre du tableaux de bord
  • Choisir “Ajouter au tableau de bord”
  • Choisir “Lanceur d'application personnalisé”
  • Remplir :

Type : Application

      Nom : Home sur Sirius
      Commande : <Chemin vers le script>
      Commentaire :

Puis cliquer sur l'icône dans le coin supérieur gauche et saisir le chemin suivant :

      /usr/share/icons/Human/24x24/places/folder-remote.png

G) That's all folks !

aide/sshfs.txt · Dernière modification: 18/05/2016 09:18 par Andrieux Alexan
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0