Zum Inhalt springen

Sshfs: Unterschied zwischen den Versionen

Aus Foxwiki
 
(25 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 4: Zeile 4:
Entfernte Dateien und Verzeichnisse wie lokale bearbeiten
Entfernte Dateien und Verzeichnisse wie lokale bearbeiten
=== Anforderungen ===
=== Anforderungen ===
; [[sftp]]-Server
* [[sftp]]-Server


; Hinweis
[[sshfs]] benutzt [[FUSE]] (Filesystem in USErspace)
:* Der einzige aktive Entwickler hat das Projekt am 26.05.2022 verlassen und die zugehörige [:Git:Github]-Seite gesperrt.
* Dateisystemclient, der auf dem SSH-Dateiübertragungsprotokoll basiert
:* Fehler und damit auch Sicherheitslücken werden nicht mehr beseitigt, dies sollte man bedenken falls sensible Daten per sshfs transportiert werden sollen.
 
:* Siehe [https://github.com/libfuse/sshfs/blob/master/README.rst Ankündigung]
Da die meisten SSH-Server dieses Protokoll unterstützen, ist er sehr einfach einzurichten
:* https://github.com/libfuse/sshfs
* Serverseite ist nichts zu tun
* Clientseitig ist das Einhängen des Dateisystems so einfach wie das Einloggen am Server mittels ssh


== Installation ==
== Installation ==
<syntaxhighlight lang="bash" highlight="1" line copy>
<syntaxhighlight lang="bash" highlight="1" copy>
sudo apt install sshfs
</syntaxhighlight>
</syntaxhighlight>
; Vor dem Ausführen von sshfs
* [[FUSE]] muss eingerichtet sein
* [[Verzeichnis]] erstellen, in welches das entfernte Verzeichnis eingehangen werden soll
* Benutzer muss Mitglied der [[Gruppe]] '''fuse''' sein


== Aufruf ==
== Aufruf ==
Zeile 25: Zeile 32:
! Unix !! GNU !! Parameter !! Beschreibung
! Unix !! GNU !! Parameter !! Beschreibung
|-
|-
| || || ||  
| || || ||
|-
|-
|}
|}
Zeile 38: Zeile 45:
| 0 || Erfolg
| 0 || Erfolg
|-
|-
| >0 || Fehler
| >0 || Fehler
|}
|}


== Anwendung ==
== Anwendung ==
; Einhängen eines entfernten Verzeichnisses
<syntaxhighlight lang="bash" highlight="1-2" line>
mkdir ~/fusessh
sshfs Benutzername@irgendEinRechner:/pfad_auf_dem_server/ ~/fusessh
</syntaxhighlight>
Falls ein Passwort für die Verbindung erforderlich ist, erscheint in der Konsole eine Abfrage
; Aushängen eines entfernten Verzeichnisses
<syntaxhighlight lang="bash" highlight="1" line>
fusermount -u ~/fusessh
</syntaxhighlight>
; Optionen
sshfs bietet eine Reihe von Optionen
* -p 222, falls der SSH-Server auf Port 222 lauschen sollte
=== User Mapping ===
Mit den Optionen `-o idmap=user -o uid=USERID -o gid=GROUPID` kann man "User Mapping" aktivieren
* Dies ist hilfreich, falls die auf dem Server gespeicherten Dateien einen Eigentümer haben, der auf dem Client nicht vorhanden ist
Dabei werden die entfernten Rechte auf die im Kommando angegebenen Werte übertragen
<syntaxhighlight lang="bash" highlight="1" line copy>
<syntaxhighlight lang="bash" highlight="1" line copy>
sshfs Benutzername@irgendEinRechner:/pfad_auf_dem_server/ ~/fusessh -o idmap=user -o uid=$(id -u) -o gid=$(id -g)
</syntaxhighlight>
</syntaxhighlight>


=== Problembehebung ===
Der Befehl würde dem aktuellen Benutzer Eigentümer- und Gruppenrechte geben, gleich wie diese auf dem entfernten System gesetzt sind
 
=== follow_symlinks ===
[[Symbolische Verknüpfungen]] auf entfernten Rechnern folgen
* Symlinks
* Softlinks
 
<syntaxhighlight lang="bash" highlight="1">
sshfs Benutzername@irgendEinRechner:/pfad_auf_dem_server/ ~/fusessh -o follow_symlinks
</syntaxhighlight>


== Konfiguration ==
== Konfiguration ==
Zeile 53: Zeile 92:
! Datei !! Beschreibung
! Datei !! Beschreibung
|-
|-
| ||  
| ||
|-
|-
| ||  
| ||
|}
|}


Zeile 61: Zeile 100:


== Anhang ==
== Anhang ==
=== Dateien ===
/usr/bin/sshfs
/usr/sbin/mount.fuse.sshfs
/usr/sbin/mount.sshfs
/usr/share/bug/sshfs
/usr/share/bug/sshfs/presubj
/usr/share/doc/sshfs/AUTHORS
/usr/share/doc/sshfs/README.Debian
/usr/share/doc/sshfs/README.rst
/usr/share/doc/sshfs/changelog.Debian.amd64.gz
/usr/share/doc/sshfs/changelog.Debian.gz
/usr/share/doc/sshfs/changelog.gz
/usr/share/doc/sshfs/copyright
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/sshfs.1.gz
=== Siehe auch ===
=== Siehe auch ===
<div style="column-count:2">
<div style="column-count:2">
Zeile 69: Zeile 128:


=== Dokumentation ===
=== Dokumentation ===
; Man-Page  
; Man-Page
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]
# [https://manpages.debian.org/trixie/sshfs/sshfs.1.en.html sshfs(1)]
 
<!--
<!--
; Info-Pages  
; Info-Pages
-->
-->


=== Links ===
=== Links ===
==== Projekt ====
==== Projekt ====
# https://github.com/libfuse/sshfs
==== Weblinks ====
==== Weblinks ====
# https://wiki.ubuntuusers.de/FUSE/sshfs/
# https://wiki.ubuntuusers.de/FUSE/sshfs/
Zeile 89: Zeile 149:


</noinclude>
</noinclude>
= TMP =
== Aufruf ==
=== Optionen ===
=== Argumente ===
=== Umgebung ===
=== Rückgabewert ===
== Anwendungen ==
; Einhängen eines entfernten Verzeichnisses
$ '''mkdir ~/fusessh'''
$ '''sshfs Benutzername@irgendEinRechner:/pfad_auf_dem_server/ ~/fusessh'''
Falls ein Passwort für die Verbindung erforderlich ist, erscheint in der Konsole eine Abfrage.
; Aushängen eines entfernten Verzeichnisses
$ '''fusermount -u ~/fusessh'''
; Hinweis
:* sshfs unterstützt Hardlinks nur ab OpenSSH-Server-Version 5.7 oder neuer.
:* Bei älteren OpenSSH-Versionen ist es daher nicht möglich, sshfs für eine Datensicherung zu nutzen.
:* Die OpenSSH-Version kann ermittelt werden indem man sich per ssh auf dem Server anmeldet und /usr/sbin/sshd -V eingibt.
=== Optionen ===
sshfs bietet eine Reihe von Optionen
* -p 222, falls der SSH-Server auf Port 222 lauschen sollte
=== User Mapping ===
Mit den Optionen `-o idmap=user -o uid=USERID -o gid=GROUPID` kann man "User Mapping" aktivieren.
* Dies ist hilfreich, falls die auf dem Server gespeicherten Dateien einen Eigentümer haben, der auf dem Client nicht vorhanden ist.
Dabei werden die entfernten Rechte auf die im Kommando angegebenen Werte übertragen.
$ '''sshfs Benutzername@irgendEinRechner:/pfad_auf_dem_server/ ~/fusessh -o idmap=user -o uid=$(id -u) -o gid=$(id -g)'''
Der Befehl würde dem aktuellen Benutzer Eigentümer- und Gruppenrechte geben, gleich wie diese auf dem entfernten System gesetzt sind.
=== Symlinks ===
Möchte man im eigenen System auch den [:ln/#Symbolische-Verknuepfungen:Symbolische Verknüpfungen] (auch "Symlinks" oder "Softlinks" genannt), die auf dem entfernten Rechner gesetzt sind, folgen können, so gibt es hierfür die Option `follow_symlinks`, die folgendermaßen genutzt werden kann:
$ '''sshfs Benutzername@irgendEinRechner:/pfad_auf_dem_server/ ~/fusessh -o follow_symlinks'''
Eine genaue Übersicht der Parameter kann man in der [:man:Manualseite] von sshfs nachlesen. Weitere Details finden sich ebenfalls unter [:Benutzer_und_Gruppen:], so wie [:Rechte:] hier im Wiki.

Aktuelle Version vom 1. Oktober 2025, 22:54 Uhr

sshfs - FUSE-Modul zur Einbindung entfernter Verzeichnisse in das lokale Dateisystem

Beschreibung

Entfernte Dateien und Verzeichnisse wie lokale bearbeiten

Anforderungen

sshfs benutzt FUSE (Filesystem in USErspace)

  • Dateisystemclient, der auf dem SSH-Dateiübertragungsprotokoll basiert

Da die meisten SSH-Server dieses Protokoll unterstützen, ist er sehr einfach einzurichten

  • Serverseite ist nichts zu tun
  • Clientseitig ist das Einhängen des Dateisystems so einfach wie das Einloggen am Server mittels ssh

Installation

sudo apt install sshfs
Vor dem Ausführen von sshfs
  • FUSE muss eingerichtet sein
  • Verzeichnis erstellen, in welches das entfernte Verzeichnis eingehangen werden soll
  • Benutzer muss Mitglied der Gruppe fuse sein

Aufruf

Optionen

Unix GNU Parameter Beschreibung

Parameter

Umgebungsvariablen

Exit-Status

Wert Beschreibung
0 Erfolg
>0 Fehler

Anwendung

Einhängen eines entfernten Verzeichnisses
mkdir ~/fusessh
sshfs Benutzername@irgendEinRechner:/pfad_auf_dem_server/ ~/fusessh

Falls ein Passwort für die Verbindung erforderlich ist, erscheint in der Konsole eine Abfrage

Aushängen eines entfernten Verzeichnisses
fusermount -u ~/fusessh
Optionen

sshfs bietet eine Reihe von Optionen

  • -p 222, falls der SSH-Server auf Port 222 lauschen sollte

User Mapping

Mit den Optionen `-o idmap=user -o uid=USERID -o gid=GROUPID` kann man "User Mapping" aktivieren

  • Dies ist hilfreich, falls die auf dem Server gespeicherten Dateien einen Eigentümer haben, der auf dem Client nicht vorhanden ist

Dabei werden die entfernten Rechte auf die im Kommando angegebenen Werte übertragen

sshfs Benutzername@irgendEinRechner:/pfad_auf_dem_server/ ~/fusessh -o idmap=user -o uid=$(id -u) -o gid=$(id -g)

Der Befehl würde dem aktuellen Benutzer Eigentümer- und Gruppenrechte geben, gleich wie diese auf dem entfernten System gesetzt sind

follow_symlinks

Symbolische Verknüpfungen auf entfernten Rechnern folgen

  • Symlinks
  • Softlinks
sshfs Benutzername@irgendEinRechner:/pfad_auf_dem_server/ ~/fusessh -o follow_symlinks

Konfiguration

Dateien

Datei Beschreibung


Anhang

Dateien

/usr/bin/sshfs

/usr/sbin/mount.fuse.sshfs
/usr/sbin/mount.sshfs

/usr/share/bug/sshfs
/usr/share/bug/sshfs/presubj

/usr/share/doc/sshfs/AUTHORS
/usr/share/doc/sshfs/README.Debian
/usr/share/doc/sshfs/README.rst
/usr/share/doc/sshfs/changelog.Debian.amd64.gz
/usr/share/doc/sshfs/changelog.Debian.gz
/usr/share/doc/sshfs/changelog.gz
/usr/share/doc/sshfs/copyright
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/sshfs.1.gz

Siehe auch


Dokumentation

Man-Page
  1. sshfs(1)

Links

Projekt

  1. https://github.com/libfuse/sshfs

Weblinks

  1. https://wiki.ubuntuusers.de/FUSE/sshfs/
  2. https://wiki.archlinux.org/index.php/SSHFS