Comment monter un répertoire avec SSHFS

Secure shell file system (ou SSHFS) permet le partage d'un système de fichiers de manière sécurisée en utilisant le protocole SFTP de SSH.
Il s'agit d'un protocole de transfert de fichiers sécurisé qui fournit des fonctionnalités d'accès aux fichiers, de transfert de fichiers et de gestion de fichiers sur SSH.

SSHFS est un système de fichiers basé sur le protocole de transfert de fichiers SSH.
Il est utilisé sur un système client, c'est-à-dire que vous devez installer le paquet SSHFS sur votre ordinateur/portable local (CentOS/RHEL/Ubuntu/Debian).
Pas besoin d'installer quoi que ce soit sur le serveur.
Vous n'avez besoin que d'un serveur openssh installé côté serveur.

Installation du client SSHFS sur Debian ou équivalent

aptitude install sshfs

Installation du client SSHFS sur Red Hat/Centos ou équivalent

Tout d'abord, vous devez activer epel-repository.

Méthode 1 : Installation depuis les dépôts (recommandé)

yum install epel-release

Méthode 2 : Installation depuis dl.fedoraproject.org

cd /tmp
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
ls *.rpm

Pour installer epel-release-7-5.noarch.rpm, tapez :

rpm -Uvh epel-release-latest-7*.rpm

Ensuite, il suffit d'utiliser yum:

yum install fuse-sshfs

Créer un point de montage et monter un file system

La syntax :

sshfs <USER>@<SERVER>:/mon/repertoire point_de_montage_local

Vous devez créer un répertoire de montage où vous monterez votre système de fichiers distant.
Par exemple, sur /mnt/test.

mkdir /mnt/test

Bien sûr, utilisez le point de montage que vous voulez.

Maintenant, vous pouvez monter un répertoire distant.

sshfs <USER>@<SERVER>:/chemin /mnt/test

Vous pouvez utiliser une clé SSH :

sshfs -o IdentityFile=~/.ssh/id_rsa <USER>@<SERVER>:/chemin /mnt/test

Avec la commande df -h vous pourrez vérifier que le montage est correct.
Si vous le souhaitez, vous pouvez le faire en permanence en éditant le fichier /etc/fstab.
Exemple :

<USER>@<SERVER>:/chemin /mnt/test fuse.sshfs port=22,user,noatime,noauto 0 0

user : permet à un utilisateur de monter la ressource (avec la commande mount /mnt/test)
noauto : il est préférable de ne pas monter automatiquement ce type de ressource (nécessite la saisie d'un mot de passe, sauf si une clé ssh sans passphrase a été installée préalablement)
noatime : ne pas mettre à jour l'inode sur le système de fichier, peu aider les performances.
Le démontage s'effectue simplement avec :

umount /mnt/test

ou

fusermount -u /mnt/test