IT-MÜCKE

Zugriff auf entfernte Dateisysteme mittels sshfs

25.01.2012

Um auf ein entferntes Dateisystem zugreifen zu können gibt es viele Möglichkeiten. Eine einfache und schnelle ist sshfs - also der Zugriff über ssh. Damit kann man z.B. auf die Dateien des FreeNAS im Büro/zu Hause zugreifen, ohne erst aufwändig einen VPN-Tunnel zu bauen.

Die Einrichtung in FreeNAS ist schnell erledigt:

  • In FreeNAS muss ein Nutzer angelegt sein.
  • Dieser benötigt eine Shell → in den Benutzereinstellungen als Shell z.B. die „Bash“ auswählen.
  • ssh muss als Dienst aktiviert sein (Dienste → SSH)
  • Dort muss auch „SSH-Tunneling erlauben“ aktiviert sein.

Die Einbindung des entfernten Dateisystems kann auf 4 Arten durchgeführt werden:

  1. Steht auf der Client-Seite FUSE bereit, so kann das entfernte System via Nautilus, Gnome-Commander oder Dolphin eingebunden werden. I.d.R. gibt man in der Adressleiste die ssh-Adresse an:
    # ssh://[host]:[port]
    # z.B.:
    ssh://myhost.dyndns.org:9876
  2. Steht kein FUSE zur Verfügung, so kann der Midnight Commander genutzt werden. Dazu „Rechts“ oder „Links“ → „Shell-Verbindung…“. Adresse wie folgt angeben (siehe Screenshots unten):
    # [host]:[port]
    # z.B.:
    myhost.dyndns.org:9876
  3. Per Terminal das entfernte Dateisystem in ein lokales Verzeichnis einbinden.
    • sshfs installieren:
      $ sudo apt-get install sshfs
    • Verzeichnis anlegen:
      $ mkdir /media/myhost
    • Das Verzeichnis kann natürlich auch im Home-Verzeichnis des aktiven Nutzers liegen - es ist nur sauberer, wenn es unter /media eingebunden wird. Dann muss man aber ggf. die Nutzerrechte bzw. den Besitzer anpassen (chmod und chown).
    • Nun das entfernte System mounten:
      # sshfs [user@][host]:[externer pfad] [mount point] [-p [port]]
      # z.B.:
      sshfs user@myhost.dyndns.org:/home/user1 /media/myhost -p 9876
    • Um das Laufwerk wieder auszuhängen:
      fusermount -u /media/myhost
  4. Per mount/fstab:
    • Auch mount kann genutzt werden:
      # sudo mount -t fuse sshfs#[user]@[host]:[externe pfad] [mount point] -o port=[port]
      # z.B.:
      sudo mount -t fuse sshfs#user1@myhost.dyndns.org:/home/user1 /media/myhost/ -o port=9876
    • und das ganze kann natürlich in der /etc/fstab fixiert werden:
      # sshfs#[user]@[host][:pfad] [mount point] fuse [user,port=8100] 0 0
      # z.B.:
      sshfs#user1@myhost.dyndns.org:/home/user1 /media/myhost fuse user,port=9876 0 0

Mit den grafischen Werkzeugen (z.B. Nautilus) ist das ganze recht schnell durchgeführt und kann spontan genutzt werden. Möchte man diese Methode regelmäßig nutzen, dann bietet sich ein Skript an mit der Terminal-Lösung oder direkt die Nutzung der fstab.

mc

mc

(Quellen: ubuntuhilfe, o-o-s.de, Admin 01/2012, S. 32ff)


zurück