So mountest du Remote-Verzeichnisse in Linux mit SSHFS

Es gibt sicherlich keine Mangel an Lösungen, wenn es darum geht, Dateien zwischen zwei Geräten zu synchronisieren. Während Google Drive und Microsoft OneDrive dir keine offiziellen Linux-Clients anbieten, tun dies NextCloud und andere. Aber vielleicht vertraust du einem großen Unternehmen nicht, um deine Dateien zu speichern. Oder vielleicht möchtest du mehr Sicherheit, als NextCloud bietet. Bei all den Komponenten, die in den Aufbau von etwas wie NextCloud einfließen, ist die Wahrscheinlichkeit groß, dass es mehr unentdeckte Sicherheitslücken hat als einfachere Lösungen.
Warum SSHFS verwenden?
Aus der Sicht des Endbenutzers ist dies sehr einfach zu bedienen, sauber und unkompliziert. Es ist auch unglaublich sicher, da es auf dem bewährten und erprobten OpenSSH-Server basiert. Die Verschlüsselung ist ebenfalls erstklassig, sodass du dir sicher sein kannst, dass niemand deine Dateien während der Übertragung stehlen kann. Ein korrekt konfigurierter, aktueller Server, der nur auf SSH-Verbindungen hört, ist in der Regel für alle außer den geschicktesten Angreifern (denk an NSA, Sicherheitsspezialisten usw.) unmöglich zu knacken. Und die wollen wahrscheinlich deine Dateien nicht.
Warum du SSHFS nicht verwenden möchtest
Wenn du die bestmögliche Übertragungsgeschwindigkeit möchtest, möchtest du vielleicht andere Lösungen wie NFS verwenden. SSHFS ist nicht die langsamste, wenn deine Internetverbindung von hoher Qualität ist, aber es ist auch nicht die schnellste. Und wenn du Verzeichnisse übertragen möchtest, die Hunderte von kleinen Dateien enthalten, wird es schrecklich. Außerdem, wenn du die Dateiübertragungseinstellungen basierend auf einzelnen Benutzern oder anderen Faktoren feinabstimmen möchtest, möchtest du vielleicht andere Software verwenden.
Zusammenfassend lässt sich sagen, dass du wahrscheinlich mit dieser Lösung zufrieden sein wirst, wenn du nur einen einfachen, sicheren Weg benötigst, um ein Remote-Verzeichnis mit einem lokalen zu synchronisieren und es nicht eilig hast.
SSHFS installieren
Auf Arch Linux-basierten Installationen verwende diesen Befehl:
sudo pacman -SsshfsWenn du auf einer Fedora-basierten Distribution bist, verwende:
sudo dnf installsshfsAuf Debian, Ubuntu und deren Derivaten verwende:
sudo apt installsshfsFür diejenigen unter euch, die OpenSUSE verwenden, gib diesen Befehl ein:
sudo zypper installsshfsServerkonfiguration
Wenn du einen Server oder VPS mietest, ist der OpenSSH-Server-Daemon bereits konfiguriert. Befolge die Schritte, die von deinem Cloud-Service-Anbieter empfohlen werden, um einen regulären Benutzer (nicht-root) zu konfigurieren. Einige ermöglichen es dir, dies direkt über ihr Web-Control-Panel zu tun und lassen dich sogar den öffentlichen Schlüssel importieren, um SSH-Zugriff zu ermöglichen. In diesem Fall generiere die Schlüsselpaar lokal mit dem Befehl ssh-keygen. Danach importiere den öffentlichen Schlüssel von “/home/your_username/.ssh/id_rsa.pub.”
Wenn der Cloud-Anbieter kein Tool anbietet, um SSH-öffentliche Schlüssel einfach zu importieren, mache es manuell. Mindestens solltest du den Root-Login verbieten und Passwort-Logins deaktivieren. Verwende ausschließlich SSH-Schlüssel: Sie sind unmöglich zu knacken, wie es bei Passwörtern der Fall ist.
Wenn du Dateien zwischen zwei Computern zu Hause synchronisieren möchtest, behandle einfach einen als Server (installiere das Paket openssh-server und konfiguriere es) und den anderen als Client. Die gleichen Schritte gelten.
Ein Remote-Verzeichnis lokal mit SSHFS einbinden
Zuerst erstelle ein Verzeichnis, das mit der Remote-Seite synchronisiert wird.
mkdir$HOME/sshfsAls nächstes binde das Remote-Verzeichnis lokal über SSHFS ein. Ersetze “user” durch den tatsächlichen Benutzernamen, der auf deinem Server erstellt wurde, und “203.0.113.1” durch die tatsächliche IP-Adresse deiner Remote-Instanz.
sshfs [email protected]:/home/user $HOME/sshfsNatürlich, wenn du nicht das gesamte Home-Verzeichnis des Benutzers auf der Serverseite synchronisieren möchtest, ersetze einfach “/home/user” durch “/home/user/some_other_directory”, nachdem du es auf dem Server erstellt hast.
Wenn du aushängen möchtest, verwende diesen Befehl:
cd&& fusermount -u$HOME/sshfsFazit
Wenn du ein Verzeichnis dauerhaft mit der Remote-Seite synchronisieren möchtest, füge einen Befehl wie sshfs [email protected]:/home/user $HOME/sshfs in deinen Autostart-Manager ein. Jeder grafische Manager hat einen anderen Autostart-Konfigurationsmanager, also konsultiere die Hilfedokumente deiner Desktop-Umgebung. Einige Quellen empfehlen, einen Eintrag in “/etc/fstab” hinzuzufügen, aber wir raten dir, das zu vermeiden, da ein Fehlschlagen beim Einbinden des Verzeichnisses dazu führen kann, dass dein System überhaupt nicht bootet.
Hoffentlich deckt dies all deine Bedürfnisse ab. Aber wenn nicht, kannst du im Online-SSHFS-Handbuch mehr über die Befehlszeilenoptionen lesen.