97 votes

Monter un répertoire distant en utilisant SSH

Comment monter un répertoire distant en utilisant SSH pour être disponible comme s'il s'agissait d'un répertoire local ?

115voto

Maythux Points 77506

Installez d'abord le module :

sudo apt-get install sshfs

Chargez-la dans le noyau :

sudo modprobe fuse

Définition des permissions (versions Ubuntu < 16.04) :

sudo adduser $USER fuse
sudo chown root:fuse /dev/fuse
sudo chmod +x /dev/fusermount

Maintenant, nous allons créer un répertoire pour monter le dossier distant.

J'ai choisi de le créer dans mon répertoire personnel et de l'appeler remoteDir .

mkdir ~/remoteDir

Maintenant j'ai lancé la commande pour le monter (mount on home) :

sshfs maythux@192.168.xx.xx:/home/maythuxServ/Mounted ~/remoteDir

Maintenant, il devrait être monté :

cd ~/remoteDir
ls -l

28voto

Configurer l'authentification basée sur une clé ssh

Générer une paire de clés sur l'hôte local.

$ ssh-keygen -t rsa

Acceptez toutes les suggestions avec la touche Entrée.

Copier la clé publique sur l'hôte distant :

$ ssh-copy-id -i .ssh/id_rsa.pub user@host

Installer sshfs

$ sudo apt install sshfs

Monter un répertoire distant

$ sshfs user@host:/remote_directory /local_directory

N'essayez pas d'ajouter des fs distants à /etc/fstab

Ou n'essayez pas de monter des partages via /etc/rc.local .

Dans les deux cas, cela ne fonctionnera pas car le réseau n'est pas disponible lorsque init lit /etc/fstab.

Installer AutoFS

$ sudo apt install autofs

Modifier /etc/auto.master

Commentez les lignes suivantes

#+/etc/auto.master.d
#+/etc/auto.master

Ajouter une nouvelle ligne

/- /etc/auto.sshfs --timeout=30

Sauvegarder et quitter

Modifier /etc/auto.sshfs

Ajouter une nouvelle ligne

/local_directory -fstype=fuse,allow_other,IdentityFile=/local_private_key :sshfs\#user@remote_host\:/remote_directory

Le nom de l'utilisateur distant est obligatoire.

Sauvegarder et quitter

Démarrer autofs en mode débogage

$ sudo service autofs stop
$ sudo automount -vf

Observer les logs du serveur ssh distant

$ ssh user@remote_server
$ sudo tailf /var/log/secure

Vérifier le contenu du répertoire local

Vous devriez voir le contenu du répertoire distant

Démarrer autofs en mode normal

Arrêtez AutoFS en mode débogage avec CTRL-C .

Démarrer AutoFS en mode normal

$ sudo service autofs start

Profitez de

(Testé sur Ubuntu 14.04)

10voto

Prathu Baronia Points 2031

D'après mes expériences, il n'est PAS nécessaire de créer explicitement le groupe fuse et d'y ajouter votre utilisateur pour monter le système de fichiers ssh.

Pour résumer, voici les étapes copiées de cette page :

  1. Installer sshfs

$ sudo apt-get install sshfs

2. créer un point de montage local

$ mkdir /home/johndoe/sshfs-path/

3.monter le dossier distant /remote/path a /home/johndoe/sshfs-path/

$ sshfs remoteuser@111.222.333.444:/remote/path /home/johndoe/sshfs-path/

  1. Et enfin, pour umount ...

$ fusermount -u /home/johndoe/sshfs-path/

6voto

Sergei Krivonos Points 303

Installer sshfs

sudo apt-get install sshfs

Ajouter à fstab :

<USER>@<SERVER_NAME>:<server_path> <local_path> fuse.sshfs delay_connect,_netdev,user,idmap=user,transform_symlinks,identityfile=/home/<YOUR_USER_NAME>/.ssh/id_rsa,allow_other,default_permissions,rw,nosuid,nodev,uid=1000,gid=1000,nonempty 0 0

4voto

Kamiel Ahmadpour Points 171

Bien que cela ne réponde pas exactement à votre question, je voulais juste mentionner que vous pouvez atteindre le même objectif en utilisant "sftp" également. Dans la barre d'adresse de votre gestionnaire de fichiers, tapez cette commande :

sftp://remoteuser@111.222.333.444/remote/path

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X