Verzeichnis eines Rechners mittels SSH mounten
Mit Hilfe von FUSEFS-SSHFS lässt sich ein Verzeichnis eines entfernten Rechners auf einem lokalen Rechner mounten, wenn man einen SSH-Zugang zu diesem Rechner besitzt.
FUSEFS-SSHFS lässt sich einfach über die Ports installieren:
# cd /usr/ports/sysutils/fusefs-sshfs && make install
Da das FUSE-Kernelmodul gebraucht wird, muss der Kernelmodul-Suchpfad noch angepasst werden. Einfach folgende Zeile in der /etc/sysctl.conf anfügen:
kern.module_path="/boot/kernel;/boot/modules;/usr/local/modules"
Jetzt muss noch folgender Eintrag in der /etc/rc.conf gemacht werden:
fusefs_enable="YES"
Möchte man das SSHFS ohne einen Neustart gleich verwenden, so muss FUSE von Hand gestartet werden:
# sysctl kern.module_path="/boot/kernel;/boot/modules;/usr/local/modules"
# /usr/local/etc/rc.d/fusefs start
Danach kann ein Verzeichnis gemountet werden:
# sshfs -o idmap=user <Benutzername>@<Rechner>:<Verzeichnis> <Mountpunkt>
Alle Optionen von sshfs erhält man mit der -h Option:
# sshfs -h
Comments
Einen Benchmark habe ich nicht gefunden bzw. auch nicht danach gesucht. Da ich NFS, SMB/CIFS für den Einsatz in einem LAN und SSHFS für das Mounten übers Internet sehe und nutze, habe ich persönlich keinen direkten Vergleich. Falls ich aber demnächst mal ein bisschen Zeit habe, werde ich einen kleinen Vergleich anstellen.
Ich habe hier mal einen kleinen Versuch durchgeführt. Als Server diente ein FreeBSD 5.3-RELEASE, als Client ein FreeBSD 6.1-RELEASE. Der Client war über ein 11MB WEP-Verschlüsseltes WLAN mit einem Access-Point verbunden, welcher über ein 100MB Ethernet mit dem Server verbunden war. Als Testdatei wurde eine ReactOS 3.0-RC1 Live-CD verwendet.
# du -ch ReactOS-LiveCD.iso
63M ReactOS-LiveCD.iso
63M total
Getestet wurden scp, SMB, SSHFS, und NFS. Die Übertragungszeit wurde mit /usr/bin/time -h gemessen. Jede Übertragung wurde 3 mal durchgeführt.
scp
# /usr/bin/time -h scp ReactOS-LiveCD.iso 192.168.1.10:/home/beat
1m43,31s real 1,75s user 0,57s sys
1m42,76s real 1,73s user 0,59s sys
1m42,99s real 1,76s user 0,56s sys
SMB mit Samba 3
# mount_smbfs -I 192.168.1.10 //beat@zeus/beat /mnt/zeus
# /usr/bin/time -h cp ReactOS-LiveCD.iso /mnt/zeus/
1m45,54s real 0,00s user 0,13s sys
1m45,09s real 0,00s user 0,13s sys
1m46,15s real 0,00s user 0,12s sys
SSHFS
# sshfs -o idmap=user beat@192.168.1.10:/home/beat /mnt/zeus/
# /usr/bin/time -h cp ReactOS-LiveCD.iso /mnt/zeus/
1m42,10s real 0,00s user 0,32s sys
1m41,99s real 0,00s user 0,32s sys
1m42,60s real 0,00s user 0,32s sys
NFS
# mount_nfs 192.168.1.10:/usr /mnt/zeus/
# /usr/bin/time -h cp ReactOS-LiveCD.iso /mnt/zeus/home/beat/
1m27,00s real 0,00s user 0,16s sys
1m27,59s real 0,01s user 0,15s sys
1m27,74s real 0,00s user 0,16s sys
Wie man hier sieht, ist das SSHFS in der Übertragungsdauer mit scp vergleichbar, SMB auch nur ein paar Sekunden langsamer. Deutlich schnellere Übertragungen erreichte man hier mit NFS.