Entfernte Dateisysteme mit autofs und sshfs über verschlüsselte Verbindung nutzen

Autofs ist ein auf dem Programm automount basierendes Werkzeug um Netzwerkfreigaben bei Zugriff automatisch ins System einzuhängen und nach einer vordefinierten Zeit wieder aus dem System auszuhängen. Autofs greift dabei mit Hilfe weiterer Programme auf verschiedene Netzwerkprotokolle wie z.b. samba ( MS ), nfs (Linux), sshfs (MS/LinuxAPPLE), Webdav ( Netzverzeichnisse) uvm zu. Autofs ist unabhängig von der grafischen Benutzeroberfläche, für nahezu alle Linux Systeme sowie Desktopumgebungen nutzbar und die Mountpunkte können frei gewählt werden.

 

Grundlagen

Installation

Konfiguration

NetzwerkfreigabenInstallationAUTOFS Deamon einrichten
Public Key Authentifizierung (sshfs)Konfigurationsbeispiel
Fehlerquellen
User & Gruppen ID für sshfs mounts
Bugreport
———————————————-———————————————-———————————————-

Netzwerkfreigaben

Der übliche Weg, Partitionen beim Systemstart automatisch statisch einzubinden, ist ein Eintrag in der Datei /etc/fstab. Die fstab bietet jedoch nicht die dynamischen Funktionen wie autofs ( automatisches einhängen bei öffnen des Verzeichnisses ). Besteht noch keine Netzwerkverbindung wird der Bootvorgang aufgrund eines falschen Eintrags angehalten und das System startet nicht sauber bzw. stoppt den Bootvorgang. Mit Autofs werden die Dateisysteme unabhängig vom Systemstart erst dann eingehängt, wenn auf sie zugegriffen wird und nach einer frei definierbaren Zeit automatisch wieder ausgehängt, wenn kein Zugriff mehr erfolgt.

Es gibt verschiedene Möglichkeiten Verzeichnisse oder Netzwerkfreigaben in das System einzuhängen ( mounten )

  1. Einhängen über die /etc/fstab :
    Vorteil : keine weiteren Programme nötig.
    Nachteil : System unterbricht Startvorgang bei Fehlern
  2. Einhängen über fuse :
    Vorteil : verschiedene Module/Standards wie cifs ( samba), nfs (linux), sshfs (linux), webdav ( windows/Linux), keine root Rechte nötig.
    Nachteil : keine Überprüfung/Validierung der Quelle, kein automatisches Ein,- oder Aushängen
  3. Einhängen über sshfs :
    Vorteil : Verschlüsselte Datenübertragung, einfache Userverwaltung über Systemuser,
    Nachteil : Kein automatisches Ein,- oder Aushängen bei Zugriff auf Ordner
  4. Einhängen über autofs :
    Vorteil : Kombination der o.g. Möglichkeiten, bei betreten des Verzeichnisses wird die Quelle eingehängt, bei Inaktivität wird Quelle wieder ausgehängt, Mountpunkte frei wählbar, Datenübertragung verschlüsselt (sshfs).

Zurück zur Übersicht

Public Key Authentifizierung (sshfs)

Das Einhängen mit Hilfe von sshfs erfordert die Eingabe des Nutzernames und des Passwortes für den Login. Die Public-Key-Authentifizierung bietet hier eine komfortable Möglichkeit die Passwortabfrage mittels eines Schlüsselpaares (dessen Authentifizierung wesentlich sicherer ist, als der Login mit einem Passwort) zu umgehen. Der Login erfolgt jetzt mittels Benutzernahmen und Abgleichung der Schlüssel (bei Erstellung des Schlüsselpaares KEIN Passwort eingeben, da sonst der Schlüssel zusätzlich noch mit einem Passwort gesichert wird, welches bei jeder Verbindung eingegeben werden muss; es wird davon ausgegangen, dass das Konto für den Nutzer auf dem Server bereits erstellt worden ist). Mit folgenden Befehl wird ein Schlüsselpaar erzeugt und der öffentliche Schlüssel auf dem Server hinterlegt.

Der Login ist jetzt ohne Passworteingabe über die erstellen Schlüssel möglich. Bei der Nutzung von autofs ohne explizite Angabe der SSH Schlüsseldateien ( Parameter IdentityFile=/home/<USER>/.ssh/id_rsa,UserKnownHostsFile=/home/<USER>/.ssh/known_hosts ) muss die Public-Key-Authentifizierung mit dem Host/Server als root erfolgen, da der autofs Dienst mit root Rechten gestartet wird und somit der user root für autofs aktiv ist.

Zurück zur Übersicht

Installation

Folgender Befehl installiert autofs, sshfs und Fuse Werkzeuge ( ggf müssen für samba, nfs, oder weitere Freigaben die entsprechenden Programme installiert werden ) :

Zurück zur Übersicht

AUTOFS Deamon einrichten

  1. Mountpunkte erstellen
    In der /etc/auto.master werden die Verzeichnisse angegeben in denen autofs die eigentlichen Verzeichnisse der entfernten Dateisysteme erstellt. Daher ist ein Zugriff auf bestehende Unterverzeichnisse unterhalb der in der /etc/auto.master festgelegten Pfade nach dem Start von autofs nicht mehr möglich und es sollte daher ein Verzeichnis unterhalb von /mnt/ oder /media angelegt werden, da die bereits bestehen Pfade in dem autofs Verzeichnis nach dem Starten von autofs nicht mehr zugänglich sind.
  2. Die /etc/auto.master Datei
    In der /etc/auto.master Datei werden die Hauptpfade und globalen Optionen für autofs konfiguriert. Der Aufbau ist wie folgt :

    Das erste Feld (“KEY”Smilie: ;) bezeichnet ein Mountverzeichnis, in dem die einzelnen Mountpunkte beim Einbinden automatisch generiert werden. Im zweiten Feld (“MAP”Smilie: ;) wird dem betreffenden Mountverzeichnis eine Map-Datei mit den jeweils gültigen Mountoptionen zugeordnet. Im dritten Feld (“OPTIONS”Smilie: ;) können bei Bedarf noch Optionen angegeben werden, die für alle in der Mapdatei aufgeführten Mountpunkte gelten. Die in den einzelnen Mapdateien angegebenen Namen für die einzelnen Mountpunkte gelten relativ zum in der Mastermapdatei angegebenen Mountverzeichnis.

    Die o.g. Zeile in der /etc/auto.master Datei definiert als Hauptverzeichnis /mnt/autofs auf dem lokalen Rechner. Die Logindaten sind in der /etc/auto.sshfs hinterlegt. Darauf folgen die globalen Optionen die für alle in der /etc/auto.sshfs definierten sshfs Verzeichnisse gelten. Die UID und GID Werte lassen sich mit Hilfe des Befehls cat /etc/passwd | grep <USER> auslesen.
  3. Die Login Daten in /etc/auto.sshfs, /etc/auto.smb, /etc/auto.nfs
    Nachdem in der /etc/auto.master die lokalen Verzeichnisse und globalen Optionen festgelegt wurden fehlen jetzt noch die Logindaten für die entfernten Verzeichnisse/Server. Diese werden abhängig von den in der /etc/auto.master definierten Pfaden angelegt. Für die o.g. /etc/auto.master wären die sshfs Logindaten in der /etc/auto.sshfs Datei einzutragen. Der Grundlegende Aufbau der auto.sshfs sieht wie folgt aus :

    Localdir gibt das von autofs automatisch erstellte Verzeichnis unterhalb des in der /etc/auto.master definierten Pfades an ( /mnt/autofs/LOCALDIR). In dem Feld Options können weitere Optionen angeben werden, die nur für das entsprechende Verzeichnis gelten ( nicht global ). Unter Remotedir wird der sshfs Login angegeben, wobei auf die etwas andere Syntax zu achten ist.

Zurück zur Übersicht

Konfigurationsbeispiel :

User auf server : media
User auf Client : myname
Server IP : 192.168.1.100
Server Verzeichnis : /mnt/Archiv
Autofs Hauptverzeichnis : /mnt/autofs
Autofs Mountverzeichnis : /mnt/autofs/Archiv

Public keys aktivieren ( als root ) :

Inhalt der /etc/auto.master :

Inhalt der /etc/auto.sshfs :

*getestet mit Ubuntu 14.04|16.04, Debian 7|8|9|10

Zurück zur Übersicht

Fehlerquellen :

  • Eintrag in der /etc/fuse.conf mit dem Inhalt user_allow_other erstellt ?
  • Datei /etc/fuse.conf für autofs user lesbar ( autofs user in der Gruppe fuse ) ?
  • Pfade richtig angegeben ( ggf. mit sshfs user@host:dir /mountpoint testen) ?
  • Fuse Werkzeuge  / SSHFS nicht installiert ?
  • Schreibrechte für autofs user im autofs Hauptverzeichnis gesetzt ?
  • Rechtevergabe für SSH Publicey Authentifizierung zu strickt oder falsch gesetzt ?

Zurück zur Übersicht

User & Gruppen ID für sshfs mounts

Um Dateisysteme mit Hilfe von sshfs unter anderen User und Gruppen IDs ( z.B. für Webserververzeichnisse auf SAS Speichern )einzubinden, muss die User und Gruppen ID über die Optionen -gid und uid angeben werden :

 

Zurück zur Übersicht

 

Bugreport : // OBSOLET seit Kernel 4.X tritt das Problem nicht mehr auf

  • Aufgrund aktiver Verbindungen können Probleme beim Wechseln in den Standby Modus auftreten. Deshalb sollte autofs vor dem Wechseln in den STR Modus beendet und nach dem Aufwachen aus dem STR Modus wieder gestartet werden. In dem Verzeichnis /etc/pm/sleep.d/ wird hierzu eine ausführbare Datei 11_autofs mit folgendem Inhalt erstellt :
  • Es kann vorkommen, dass automount nicht richtig beendet wird und der Prozess nicht beendet wird. Nach manuellem Beenden des automount Prozesses funktioniert der STR Modus wieder. Folgendes Script kann dazu verwendet werden.

Zurück zur Übersicht

Kategorie(n): Anleitungen, IT Syntax, Linux, Netzwerke

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

 

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.