sshfs ist ein FUSE-Modul, mit dem sich entfernte Dateisysteme über SSH in das lokale System einbinden lassen. Das mounten via sshfs erfordert auf dem Server neben SSH nur sftp. Bei den meisten SSH-Servern, wie z.B. OpenSSH, ist sftp bereits enthalten.
Installation
Unter Debian/Ubuntu erfolgt die Installation über:
apt-get install sshfs
Entsprechende Portierungen sind auch für Mac & Windows verfügbar.
Verwendung
mounten
sshfs USERNAME@HOSTNAME_ODER_IP:/PFAD LOKALER_MOUNT_POINT SSH_OPTIONEN
Beim mounten fragt SSH automatisch nach dem Passwort. Wie man SSH ohne Passworteingabe verwendet kann man in dem folgenden Artikel nachlesen: SSH – Login ohne Passwort
Möchte man nur schnell einige Dateioperationen durchführen, kann man das folgende Skript verwenden:
#!/bin/bash sshfs USERNAME@HOSTNAME_ODER_IP:/PFAD LOKALER_MOUNT_POINT SSH_OPTIONEN mc ~ LOKALER_MOUNT_POINT fusermount -u LOKALER_MOUNT_POINT
Der in Zeile 3 verwendete MidnightCommander lässt sich natürlich durch jeden anderen DateiManager, oder die entsprechende Option, ersetzen.
unmounten
umount LOKALER_MOUNT_POINT oder fusermount -u LOKALER_MOUNT_POINT
/etc/fstab
USERNAME@HOSTNAME_ODER_IP:/VERZEICHNIS /LOKALER/MOUNTPOINT fuse.sshfs noauto,user,rw 0 0
Möchte man das Verzeichnis bei jedem Bootvorgang automatisch mounten, lässt man einfach noauto weg.
Optimierung
Vergleicht man sshfs mit anderen Möglichkeiten, entfernte Dateisysteme zu mounten, wie z.B. NFS fällt schnell der Geschwindigkeitsmalus ins Auge. Mit entsprechenden Optionen lässt sich die Performance aber deutlich erhöhen, der größte Gewinn entsteht dabei durch das Senken der Verschlüsselung. Welche Verschlüsselungen unterstützt werden lässt sich der ManPage von ssh_config entnehmen (man ssh_config).
empfohlene Optionen (sollte fast überall funktionieren):
- -o cache=yes
- -o kernel_cache
- -o compression=no
- -o large_read
- -o Ciphers=arcfour
Bei arcfour handelt es sich um RC4 mit einem 128bit-Schlüssel (RFC4253).