Antworten:
Installieren Sie zuerst das Modul:
sudo apt-get install sshfs
Lade es in den Kernel:
sudo modprobe fuse
Festlegen von Berechtigungen (Ubuntu-Versionen <16.04):
sudo adduser $USER fuse
sudo chown root:fuse /dev/fuse
sudo chmod +x /dev/fusermount
Jetzt erstellen wir ein Verzeichnis, in das der Remote-Ordner eingehängt werden soll.
Ich habe es in meinem Home-Verzeichnis erstellt und es aufgerufen remoteDir
.
mkdir ~/remoteDir
Jetzt habe ich den Befehl ausgeführt, um es zu mounten (mount on home):
sshfs maythux@192.168.xx.xx:/home/maythuxServ/Mounted ~/remoteDir
Nun sollte es montiert werden:
cd ~/remoteDir
ls -l
Konfigurieren Sie die schlüsselbasierte SSH-Authentifizierung
Generieren Sie ein Schlüsselpaar auf dem lokalen Host.
$ ssh-keygen -t rsa
Akzeptieren Sie alle Vorschläge mit der Eingabetaste.
Kopieren Sie den öffentlichen Schlüssel auf den Remote-Host:
$ ssh-copy-id -i .ssh/id_rsa.pub user@host
Installieren Sie sshfs
$ sudo apt install sshfs
Remote-Verzeichnis einbinden
$ sshfs user@host:/remote_directory /local_directory
Versuchen Sie nicht, ferne fs zu / etc / fstab hinzuzufügen
Oder versuchen Sie nicht, Freigaben über /etc/rc.local einzuhängen.
In beiden Fällen funktioniert es nicht, da das Netzwerk nicht verfügbar ist, wenn init / etc / fstab liest.
Installieren Sie AutoFS
$ sudo apt install autofs
Bearbeiten Sie /etc/auto.master
Kommentieren Sie die folgenden Zeilen aus
#+/etc/auto.master.d
#+/etc/auto.master
Fügen Sie eine neue Zeile hinzu
/- /etc/auto.sshfs --timeout=30
Speichern und Beenden
Bearbeiten Sie /etc/auto.sshfs
Fügen Sie eine neue Zeile hinzu
/local_directory -fstype=fuse,allow_other,IdentityFile=/local_private_key :sshfs\#user@remote_host\:/remote_directory
Der Remote-Benutzername ist obligatorisch.
Speichern und Beenden
Starten Sie autofs im Debug-Modus
$ sudo service autofs stop
$ sudo automount -vf
Beobachten Sie die Protokolle des Remote-SSH-Servers
$ ssh user@remote_server
$ sudo tailf /var/log/secure
Überprüfen Sie den Inhalt des lokalen Verzeichnisses
Sie sollten den Inhalt des Remote-Verzeichnisses sehen
Starten Sie autofs im normalen Modus
Beenden Sie AutoFS im Debug-Modus mit STRG-C.
Starten Sie AutoFS im normalen Modus
$ sudo service autofs start
Genießen
(Getestet auf Ubuntu 14.04)
Basierend auf meinen Experimenten ist es NICHT erforderlich, die Sicherungsgruppe explizit zu erstellen und Ihren Benutzer hinzuzufügen, um das ssh-Dateisystem einzuhängen.
Zusammenfassend sind hier die Schritte, die von dieser Seite kopiert wurden:
sshfs
$ sudo apt-get install sshfs
2.Erstellen Sie einen lokalen Einhängepunkt
$ mkdir /home/johndoe/sshfs-path/
3.Mount Remote-Ordner /remote/path
auf/home/johndoe/sshfs-path/
$ sshfs remoteuser@111.222.333.444:/remote/path /home/johndoe/sshfs-path/
$ fusermount -u /home/johndoe/sshfs-path/
Installieren Sie sshfs
sudo apt-get install sshfs
Zu fstab hinzufügen:
<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
sshfs
Befehl denke ich, dass das lokale Mountpoint-Verzeichnis benannt istremoteDir
, und wenn ich auf dem SSH-Serever bin, gibt es ein Verzeichnis,/home/maythuxServ/Mounted
das nicht lokal gemountet ist, und ich kann nicht sagen, oder egal, ob es woanders montiert ist?