web-dev-qa-db-fra.com

Monter le répertoire distant en utilisant SSH

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

59
Maythux

Installez d'abord le module:

Sudo apt-get install sshfs

Charge le dans le noyau

Sudo modprobe Fuse

Définition des autorisations

Sudo adduser $USER Fuse

Sudo chown root:Fuse /dev/Fuse

Sudo chmod +x /dev/fusermount

Nous allons maintenant créer un répertoire dans lequel 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 [email protected]:/home/maythuxServ/Mounted ~/remoteDir

Maintenant, il devrait être monté

cd ~/remoteDir
ls -l 

Prendre plaisir

72
Maythux

Configurez l'authentification basée sur la clé ssh

Générez 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 le répertoire distant

$ sshfs user@Host:/remote_directory /local_directory

N'essayez pas d'ajouter un fs distant à/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 quand init lit/etc/fstab.

Installer AutoFS

$ Sudo apt install autofs

Éditez /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

Éditez /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 d'utilisateur distant est obligatoire.

Sauvegarder et quitter

Démarrer autofs en mode débogage

$ Sudo service autofs stop
$ Sudo automount -vf

Observez les journaux 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 l'exécution d'AutoFS en mode débogage avec CTRL-C.

Démarrer AutoFS en mode normal

$ Sudo service autofs start

Enjoy

(Testé sur Ubuntu 14.04)

18

Sur la base de mes expériences, créer explicitement le groupe Fuse et y ajouter votre utilisateur n'est PAS requis pour monter le système de fichiers ssh.

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

  1. Installez sshfs

$ Sudo apt-get install sshfs

2.Créez le point de montage local

$ mkdir /home/johndoe/sshfs-path/

3.Montez le dossier distant /remote/path à /home/johndoe/sshfs-path/

$ sshfs [email protected]:/remote/path /home/johndoe/sshfs-path/

  1. Et enfin, umount ...

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

3
Prathu Baronia

Installez 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
3
Sergei