Monter un volume sshfs au démarrage.

Fstab est ton ami

Sommaire

Prérequis

Ce tuto a été testé avec succès sous debian 8 et sous fedora 25.

Besoins

Grand amateur de solutions qui nécessitent: - peu d’installation, - qui soient chiffrées, - et qui n’appellent que des configurations simples et lisibles.

J’utilise beaucoup l’échange de fichier par ssh, Dans nautilus la commande pour se connecter est claire, rapide, et peut être gardée en mémoire avec un simple signet:

~$ ssh://utilisateur-distant@host-ou-ip:port

Ayant récemment eu besoin d’automatiser le processus au démarrage (dans mon cas, je souhaitais qu’une de mes vm ait à disposition des répertoires d’un serveur distant), j’ai fouillé le net et ai trouvé des informations que je partage ici. Jusqu’à maintenant j’utilisais curlFTPfs pour mener cette mission mais je l’ai laissé de côté car je le trouve trop lent et alambiqué à configurer (notamment en ftps)… Bref tout le contraire du ssh, qui ne demande qu’une clé et peu de bidouille. En parlant bidouille voyons donc dans la pratique comment les choses se passent (bien).

Installations des logiciels nécessaire et du répertoire

~$ apt install sshfs
~$ apt install fuse
~$ mkdir /répertoire-de-destination

Se placer dans le répertoire de clé SSH de son utilisateur-local pour y créer la clé

~$ cd /home/utilisateur-local/.ssh/
~$ ssh-keygen -t rsa -b 4096

Envoyons maintenant la clé publique sur son serveur distant

~$ ssh-copy-id -i /home/utilisateur-local/.ssh/id_rsa.pub utilisateur-distant@host-ou-ip:port

Cet échange automatise la connexion ssh entre l’utilsateur local et l’utilisateur distant. Par principe il est toujours déconseillé de laisser la possibilité de se connecter en root sur son serveur; mais vous faites comme vous voulez chez vous.

Autoriser un utilisateur non root à avoir accès au volume monté par fuse dans fstab

~$ nano /etc/fuse.conf
      # mount_max = 1000
      # Allow non-root users to specify the 'allow_other' or 'allow_root' mount options.
      user_allow_other #il faut simplement décommenter cette ligne

Ajoutons une ligne dans fstab

~$ nano /etc/fstab
      sshfs#utilisateur-distant@host-ou-ip:/répertoire-de-départ /répertoire-de-destination  fuse port=XX,noauto,x-systemd.automount,_netdev,users,idmap=user,IdentityFile=/home/utilisateur-local/.ssh/id_rsa,allow_other,reconnect 0 0

Testons

~$ mount /répertoire-de-destination

Démontons

~$ umount /répertoire-de-destination

Si tout s’est bien passé, vous devriez avoir votre /répertoire-de-destination monté automatiquement au prochain démarage.

Sources: https://wiki.archlinux.org/index.php/SSHFS https://doc.ubuntu-fr.org/sshfs