SSHFS est merveilleux. Il peut monter des répertoires distants dans un répertoire local avec FUSE . Les commandes ci-dessous servent #
à indiquer qu’une commande a été exécutée en tant que root
, tandis qu’elles indiquent une $
exécution en tant qu’utilisateur ordinaire. Comme le logiciel FUSE est requis, assurez-vous d’abord qu’il est disponible et qu’il fonctionne.
L'une des commandes lsmod
et grep
, ci-dessous, peut révéler si le logiciel est chargé et prêt à être utilisé. Un résultat de l'une ou l'autre commande indique qu'il fuse
est disponible.
# lsmod | grep fuse
$ grep -i fuse /lib/modules/$(uname -r)/modules.builtin
S'il n'y a aucun résultat avec l'une ou l'autre commande, essayez de charger le module du noyau sans redémarrage à l'aide de modprobe
et vérifiez à nouveau.
# modprobe fuse
# lsmod fuse
Si le chargement du module échoue, installez le logiciel avec apt-get
.
# apt-get install fuse
Vérifiez à nouveau après l'installation.
# modprobe fuse
# lsmod fuse
FUSE doit être installé et en cours d'exécution avant de continuer.
Vérifiez les autorisations de /dev/fuse
. Les autorisations doivent fournir à votre compte d'utilisateur habituel un accès en lecture et en écriture. Ignorez cette partie si vous avez déterminé que votre compte d'utilisateur habituel dispose déjà des autorisations de lecture et d'écriture /dev/fuse
.
# ls -l /dev/fuse
La sortie peut ressembler à l’une des suivantes.
crw-rw-rw- 1 root root (all users can read/write)
crw------- 1 root fuse (only root can read/write)
crw-rw---- 1 root fuse (root and members of fuse group can read/write)
En 2013, ma Debian a été créée /dev/fuse
avec les 0600
autorisations, propriétaire root
, propriétaire du groupe fuse
. Je devais laisser le groupe de fusibles utiliser le périphérique et ajouter mon compte d'utilisateur habituel au groupe, comme indiqué ci-dessous.
# usermod -aG fuse $your_regular_user_account
# chmod 0660 /dev/fuse
Si la nouvelle appartenance au groupe était requise, connectez-vous et reconnectez-vous pour devenir membre du groupe.
Ensuite, installez ssh
les deux côtés comme suit.
# apt-get install ssh
Cette réponse a été écrit pour Debian, mais sur Ubuntu 18.x au moins, openssh-client
, fuse
, et quelques autres paquets sont une partie de l'Ubuntu sshfs
package. Le sshfs
logiciel est requis côté client, mais il peut être installé des deux côtés si vous le souhaitez. L'une des dépendances du paquet est fuse
, mais le programme d'installation ignore les logiciels déjà installés.
# Ubuntu 18.x:
# apt-get install sshfs
Avec fuse
et ssh
disponible, et avec la permission d'utiliser le périphérique /dev/fuse
, créez un point de montage pour le système de fichiers distant; et montez ce système de fichiers distant localement comme suit.
# mkdir /mnt/$directory_name
# chown $your_user:$group /mnt/$directory_name/
$ sshfs $remote_username@$remote_server_name: /mnt/$directory_name/
Pour monter un répertoire autre que home, spécifiez-le après les deux points.
$ sshfs $remote_username@$remote_server_name:/remote/directory /mnt/$directory_name
Pour démonter, utilisez fusermount
.
fusermount -u /mnt/$directory_name
Si vous avez une machine Windows, elle peut aussi utiliser SSHFS avec win-sshfs . Ce logiciel "mappera un lecteur" avec SSHFS, de sorte que vous puissiez avoir une lettre de lecteur Windows contenant le répertoire distant.