SSHFS selbst ist ein Dateisystem im User Space (FUSE), das das SSH File Transfer Protocol (SFTP) verwendet, um ein Remote-Dateisystem zu mounten. Das sshfs
Befehl ist ein Client-Tool zur Verwendung von SSHFS, um ein Remote-Dateisystem von einem anderen Server lokal auf Ihrem Computer bereitzustellen.
Hinweis: Userspace (oder Userland) ist der gesamte Betriebssystemcode, der außerhalb des Kernels ausgeführt wird.
sshfs
ist zwar nicht so leistungsfähig wie ein lokales Dateisystem, aber sshfs
ist eine einfache Möglichkeit, mit Dateien auf einem anderen Computer mit lokalen Programmen und Tools zu arbeiten. Das Beste von allem, sshfs
kann von nicht privilegierten Benutzern auf dem lokalen Rechner verwendet werden (eigentlich wird empfohlen, dies nicht zu tun Root sein oder um seine Privilegien zu erhöhen, während sshfs
verwendet wird ), und es ist keine spezielle Software auf dem Remote-Computer erforderlich, außer SSH mit aktiviertem SFTP – eine übliche Einrichtung.
Installation von sshfs
Das sshfs
Das Tool ist in den Standard-Repositories der meisten Distributionen verfügbar und wird am einfachsten mit dem Paketmanager dieser Distribution installiert. Installieren Sie für Fedora sshfs
ist so einfach wie:dnf install fuse-sshfs
. Auf Debian-basierten Systemen ist das Paket einfach sshfs
.
Mounten eines Remote-Dateisystems
Einmal sshfs
installiert ist, ist das sichere Mounten eines entfernten Dateisystems über SSH einfach. Laut sshfs
Handbuchseite (man sshfs
), lautet die Syntax für den Befehl:
sshfs [user@]host:[dir] mountpoint [options]
Diese Syntax sollte jedem bekannt vorkommen, der zuvor SSH oder SCP verwendet hat.
Werfen wir einen Blick auf sshfs
in Aktion. Erstellen Sie zunächst ein Verzeichnis (oder wählen Sie ein vorhandenes aus), das als Einhängepunkt verwendet werden soll. Beachten Sie, dass der lokale Benutzer, der sshfs
aufruft Der Befehl muss Schreibzugriff auf den Einhängepunkt haben. Da von der Verwendung des Root-Kontos abgeraten wird, könnte diese Richtlinie die Verwendung von ~/mnt
erfordern besser als /mnt
. Dann ist es nur noch eine Frage der Verwendung von sshfs
Befehl, um sich mit Ihren SSH-Anmeldeinformationen mit dem Remote-Rechner zu verbinden, und geben Sie an, welcher Remote-Standort am Mount-Punkt gemountet werden soll:
# Create the mountpoint
[chris@marvin ~ ]$ mkdir ~/mnt
# Invoke SSHFS with your SSH credentials and the remote location to mount
[chris@marvin ~ ]$ sshfs chris@zaphod:/home/chris/Pictures ~/mnt
# Access the newly mounted filesystem
[chris@marvin ~ ]$ ls ~/mnt/
'Screenshot from 2019-11-17 19-34-34.png'
Hinweis: Unterhaltsame Tatsache, sshfs
erweitert ~
nicht auf einem Remote-Rechner in das Home-Verzeichnis des Benutzers.
Auf die gemounteten Dateisysteme kann zugegriffen und sie verwendet werden wie auf ein lokales Dateisystem, sowohl über die Befehlszeile als auch mit anderen Tools:
Wenn Sie mit dem Remote-Dateisystem fertig sind, hängen Sie es mit fusermount
aus Befehl:
# Unmount the remote FS
[chris@marvin ~ ]$ fusermount -u ~/mnt
Mount-Optionen
In den meisten Fällen ist die Standardeinstellung sshfs
Der Befehl kann unverändert verwendet werden, aber sshfs
ist weit entfernt von einem einfachen Befehl. Es gibt unzählige Optionen und Flags, die eine Vielzahl von Situationen abdecken, einschließlich SSH- und SFTP-Optionen, Komprimierung usw. Sehen Sie sich die sshfs
an Handbuch (man sshfs
) für weitere Einzelheiten zu den verfügbaren Funktionen.
Eine der nützlichsten Optionen ist jedoch reconnect
, die es dem Client ermöglicht, die Verbindung zum entfernten System wiederherzustellen, wenn sie unterbrochen wurde:
# Use "-o reconect" to allow the client to reconnect
[chris@marvin ~ ]$ sshfs chris@zaphod:/home/chris/Pictures ~/mnt -o reconnect
Mounten eines Remote-Dateisystems beim Start
Das sshfs
Der Befehl kann auch in /etc/fstab
des Client-Systems verwendet werden Datei, um das Remote-Dateisystem automatisch zu mounten. Verwenden Sie die normale fstab
Syntax, einschließlich aller erforderlichen Optionen, und verwenden Sie sshfs
anstelle des Dateisystemtyps:
# file: /etc/fstab
chris@zaphod:/home/chris/Pictures /home/chris/mnt sshfs
Beachten Sie, dass die Verwendung von sshfs
mit fstab
Das Einhängen von Dateien in das Dateisystem muss als Root erfolgen, daher müssen entsprechende Anpassungen für SSH-Anmeldeinformationen vorgenommen und angemessene Vorsichtsmaßnahmen getroffen werden.
Transportendpunkt ist nicht verbunden
Möglicherweise erhalten Sie einen Transportendpunkt ist nicht verbunden
Fehler, wenn die Verbindung unterbrochen wird (z. B. wenn der Client-Computer das Netzwerk wechselt oder angehalten wird). Hängen Sie in diesem Fall das Dateisystem mit dem fusermount
aus Befehl, wie oben beschrieben:
[chris@marvin ~ ]$ ls ~/mnt
ls: cannot access '/home/chris/mnt': Transport endpoint is not connected
[chris@marvin ~ ]$ fusermount -u ~/mnt
Hoffentlich hat Ihnen dieser Artikel die Grundlagen vermittelt, die Sie für die Arbeit mit sshfs
benötigen . Es ist ein großartiges Tool für die sichere Arbeit mit Remote-Dateisystemen über eine verschlüsselte SSH-Verbindung, während es lokal auf Ihrem Client-Computer bereitgestellt wird. Und wie gesagt, dank sshfs
Da es sich um ein FUSE-Dateisystem handelt, können selbst unprivilegierte Benutzer es verwenden, ohne dass ein Administrator es einrichten muss.
Möchten Sie Red Hat Enterprise Linux ausprobieren? Jetzt kostenlos herunterladen.