GNU/Linux >> LINUX-Kenntnisse >  >> Linux

SSHFS:Mounten eines Remote-Dateisystems über SSH

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.


Linux
  1. Acht Möglichkeiten zum Schutz des SSH-Zugriffs auf Ihrem System

  2. Ssh – Eine Datei mit Ssh zurück auf das lokale System kopieren?

  3. Ssh – Remote Desktop über Ssh Reverse Tunnel als Ersatz für Teamviewer?

  4. Ausführen einer Skriptdatei über SSH durch Sudo?

  5. Mounten eines Dateisystems über das Internet

So führen Sie Linux-Befehle auf einem Remote-System über SSH aus

So verwenden Sie SSHFS zum Mounten von Remote-Verzeichnissen über SSH

Tmux-Sitzung auf Remote-System automatisch starten, wenn Sie sich über SSH anmelden

So mounten Sie ein Remote-Linux-Dateisystem mit SSHFS

Verwenden Sie die SSH-Konfigurationsdatei, um SSH-Verbindungen zu verschiedenen Remote-Servern zu verwalten

So verwenden Sie SSHFS-Mount mit Remote-Verzeichnissen über SSH