SSHFS – einfach gemacht

Posted by on 13 Nov 2009 | Tagged as: Allgemeines, CLI, Debian, hyper_ch, Ubuntu

Ich hatte lange für meinen Heimserver einfach nur Samba resp. Cifs gebraucht. Allerdings hatte ich damit ein kleines Problem. Vorallem wenn ich .torrent Dateien runtergeladen habe und die in ein Verzeichnis auf meinem Desktop gespeichert hatte, welches an sich nur ein Symlink zu einem via cifs gemounteten Verzeichnis war, dann hatte rtorrent die Datei nicht akzeptiert, weil sie korrupt sei.

Der Grund wieso ich immer cifs und nicht sshfs genommen habe war, das ich mir ein kleines “start.sh” Script gebastelt habe, welches ein paar Dinge erledigt (e.g. Networkshare mounten, Programme starten, …). Ich wollte dies also ohne Probleme einfach ausführen lassen.

Das Ganze ist aber auch möglich über SSHFS:

(1) Keybased Login einrichten.
Zuerst muss ein Keybased Login eingereichtet werden, ansonsten gibt es immer die Aufforderung. Ein kleines Howto diesbezüglich gibt es hier: http://www.simplylinux.ch/ssh-login-ohne-passwort-key-based
Natürlich muss auf dem Server zuerst ein SSH Server installiert werden:

sudo apt-get install openssh-server

(2) SSHFS installieren
Damit ich dann via SSHFS mounten kann, muss ich auf dem lokalen Client das entsprechende Paket installiert haben:

sudo apt-get install sshfs

(3) Manuel mounten
Jetzt kann einfach ein Serververzeichnis in den lokalen Client mounten mit folgendem Befehl:

sshfs user@host:directory mountpoint

Wird kein (Server) Verzeichnis (=directory) angegeben, dann wird einfach das Home-Verzeichnis des Benutzers geladen. Wichtig ist hierbei, dass der (lokale) Mountpoint auch existieren muss und dass der entsprechende Benutzer auch Lese-/Schreibrecht hat. Bin mir nicht sicher ob auch Ausführrechte vorhanden sein müssen. Bei mir sind sowohl Benutzer- und Gruppenowner jeweils ich und die Permissions liegen be 0755.

Hier ein “echtes” Beispiel:

sshfs charly@charly11111.dyndns.org:/media/Audio /media/Audio

Jetzt kann man sich damit entsprechend ein Bash Script anlegen wo dann alles gemountet wird.

(4) Unmounten
Um die gemounteten Verzeichnis wieder loszuwerden, kann einfach folgender Befehl ausgeführt werden:

fusermount -u /path/to/mountpoint

(5) fstab einrichten
Natürlich können auch Einträge in der fstab gemacht werden. Diese sehen dann so aus:

sshfs#user@host:directory mountpoint fuse user 0 0

Um danach ein Eintrag zu mounten muss nur noch folgendes ausgeführt werden:
mount /path/to/mountpoint

One Response to “SSHFS – einfach gemacht”

  1. on 20 Feb 2010 at 12:57 1.Obscuratio.Blog said …

    Erinnerung an mich: sshfs…

    SSH per FUSE 01 02 03 Endlich komfortabel und sicher Dateien hin und her schieben, die Geschwindikeit mag zwar etwas geringer sein, aber dafür erfolgen die Transfers verschlüsselt… Wie immer hier die lokalen Kopien: 01 02 03…