Android

Verwendung von sshfs zum Mounten von Remote-Verzeichnissen über ssh

Erklär mir: Was ist SSH? | Die Secure Shell erklärt [Deutsch/German]

Erklär mir: Was ist SSH? | Die Secure Shell erklärt [Deutsch/German]

Inhaltsverzeichnis:

Anonim

SSHFS (SSH Filesystem) ist ein auf FUSE basierender Dateisystem-Client zum Mounten von Remote-Verzeichnissen über eine SSH-Verbindung. SSHFS verwendet das SFTP-Protokoll, ein Subsystem von SSH, das auf den meisten SSH-Servern standardmäßig aktiviert ist.

Im Vergleich zu anderen Netzwerkdateisystemprotokollen wie NFS und Samba besteht der Vorteil von SSHFS darin, dass keine zusätzliche Konfiguration auf der Serverseite erforderlich ist. Um SSHFS zu verwenden, benötigen Sie nur SSH-Zugriff auf den Remote-Server.

Da SSHFS SFTP verwendet, müssen alle zwischen dem Server und dem Client übertragenen Daten verschlüsselt und entschlüsselt werden. Dies führt zu einer im Vergleich zu NFS leicht verschlechterten Leistung und einer höheren CPU-Auslastung auf dem Client und dem Server.

In diesem Tutorial erfahren Sie, wie Sie den SSHFS-Client unter Linux, macOS und Windows installieren und ein Remote-Verzeichnis bereitstellen.

SSHFS installieren

SSHFS-Pakete sind für alle gängigen Betriebssysteme verfügbar und die Installation ist ziemlich einfach.

Installation von SSHFS unter Ubuntu und Debian

SSHFS ist in den Standard-Repositorys von Ubuntu und Debian verfügbar. Aktualisieren Sie den Paketindex und installieren Sie den sshfs-Client, indem Sie Folgendes eingeben:

sudo apt update sudo apt install sshfs

SSHFS unter CentOS installieren

Führen Sie unter CentOS und anderen Red Hat-Derivaten den folgenden Befehl aus, um sshfs zu installieren:

sudo yum install sshfs

SSHFS unter macOS installieren

MacOS-Benutzer können den SSHFS-Client installieren, indem sie die FUSE- und SSHFS-Pakete von der osxfuse-Site oder über Homebrew herunterladen:

brew cask install osxfuse brew install sshfs brew cask install osxfuse brew install sshfs

Installieren von SSHFS unter Windows

Windows-Benutzer müssen zwei Pakete installieren, WinFsp und SSHFS-Win.

  • WinFsp.SSHFS-Win.

Einhängen des Remote-Dateisystems

Die folgenden Anweisungen gelten für alle Linux-Distributionen und macOS.

Um ein Remote-Verzeichnis bereitzustellen, muss der SSH-Benutzer auf dieses zugreifen können. Der SSHFS-Mount-Befehl hat die folgende Form:

sshfs host: mountpoint

Der Befehl sshfs liest die SSH-Konfigurationsdatei und verwendet die Einstellungen pro Host. Wenn das Remote-Verzeichnis nicht angegeben ist, wird standardmäßig das Home-Verzeichnis des Remote-Benutzers verwendet.

Wenn Sie beispielsweise das Basisverzeichnis eines Benutzers mit dem Namen "linuxize" auf einem Remote-Host mit der IP-Adresse "192.168.121.121" bereitstellen möchten, müssen Sie zunächst ein Verzeichnis erstellen, das als Bereitstellungspunkt dient. Es kann sich dabei um einen beliebigen Speicherort handeln:

mkdir ~/linuxizeremote

Verwenden Sie dann den Befehl sshfs, um das Remote-Verzeichnis einzuhängen:

sshfs [email protected]:/home/linuxize /home/linuxize/linuxizeremote

Sie werden aufgefordert, das Benutzerpasswort einzugeben. Um zu vermeiden, dass Sie das Kennwort jedes Mal eingeben, wenn Sie das Remote-Verzeichnis laden, generieren Sie SSH-Schlüssel und richten Sie die kennwortlose SSH-Anmeldung ein.

Jetzt können Sie mit den Verzeichnissen und Dateien auf einem Remote-Server genauso interagieren wie mit den lokalen Dateien. Sie können beispielsweise Dateien und Verzeichnisse bearbeiten, löschen, umbenennen oder neue erstellen.

Wenn Sie das Remote-Verzeichnis dauerhaft bereitstellen möchten, müssen Sie die Datei /etc/fstab des lokalen Computers bearbeiten und einen neuen /etc/fstab hinzufügen. Auf diese Weise wird das Remote-Verzeichnis beim Systemstart automatisch eingehängt.

Verwenden Sie fuse.sshfs als Dateisystemtyp, um ein Remote-Verzeichnis über SSHFS aus /etc/fstab fuse.sshfs .

/ etc / fstab

user@host:/remote/dir /local/mountpoint fuse.sshfs defaults 0 0

Stellen Sie beim Erstellen eines persistenten Mount sicher, dass Sie den Remote-Host mithilfe der SSH-Schlüssel-basierten Authentifizierung verbinden können.

Einhängen des Remote-Dateisystems unter Windows

Windows-Benutzer können mit dem Windows-Explorer ein Netzwerklaufwerk dem Remote-Verzeichnis auf dem SSH-Server zuordnen.

Öffnen Sie den Windows Explorer, klicken Sie mit der rechten Maustaste auf "Dieser PC" und wählen Sie "Netzlaufwerk zuordnen". Wählen Sie ein Laufwerk zum Mounten aus und geben Sie im Feld "Ordner" den Remote-Benutzer, den Server und den Pfad in folgendem Format ein:

\\sshfs\user@host

Zum Zeitpunkt des Schreibens dieses Artikels unterstützt SSHFS-Win keine schlüsselbasierte Authentifizierung. Daher muss der Remote-SSH-Server so konfiguriert sein, dass er die kennwortbasierte Authentifizierung akzeptiert.

Weitere Informationen finden Sie im SSHFS-Win-Handbuch.

Remote-Dateisystem aushängen

Verwenden Sie zum fusermount Befehl umount oder fusermount gefolgt von dem Verzeichnis, in dem es fusermount ( fusermount ):

fusermount -u /local/mountpoint

umount /local/mountpoint

Fazit

In diesem Handbuch haben Sie gelernt, wie Sie mit SSHFS ein Remote-Verzeichnis über SSH bereitstellen. Dies kann hilfreich sein, wenn Sie mit Ihren lokalen Computeranwendungen mit den Remotedateien interagieren möchten.

Um eine vollständige Liste der sshfs-Optionen zu erhalten, geben Sie man sshfs in Ihr Terminal ein.

Sie können auch den Benutzerzugriff auf das Basisverzeichnis einschränken, indem Sie eine SFTP-Chroot-Jail-Umgebung einrichten und den Standard-SSH-Port ändern, um Ihrem Server eine zusätzliche Sicherheitsebene hinzuzufügen.

ssh sftp mount terminal