Sshfs: Unterschied zwischen den Versionen
K Kategorie verändert |
Dirk (Diskussion | Beiträge) K codef., interwiki |
||
Zeile 1: | Zeile 1: | ||
[[Category:Netzwerk]] | [[Category:Netzwerk]] | ||
Dieser Artikel behandelt die Einrichtung von sshfs. Der Artikel ist eine Übersetzung des englischen Originals, zu finden hier: [http://wiki.archlinux.org/index.php/Sshfs] | Dieser Artikel behandelt die Einrichtung von sshfs. Der Artikel ist eine Übersetzung des englischen Originals, zu finden hier: [http://wiki.archlinux.org/index.php/Sshfs] | ||
== Einleitung == | == Einleitung == | ||
Zeile 11: | Zeile 9: | ||
== Installation == | == Installation == | ||
Um die benötigten Dateien zu installieren reicht ein: | Um die benötigten Dateien zu installieren reicht ein: | ||
# pacman -S sshfs | # pacman -S sshfs | ||
Das sollte ''fuse'', ''sshfs'' und unter Umständen noch einige weitere Pakete installieren. | Das sollte ''fuse'', ''sshfs'' und unter Umständen noch einige weitere Pakete installieren. | ||
Zeile 17: | Zeile 17: | ||
Zuerst sollte das Kernelmodul fuse geladen sein. | Zuerst sollte das Kernelmodul fuse geladen sein. | ||
Also als ''root'': | Also als ''root'': | ||
# modprobe fuse | # modprobe fuse | ||
(Um das Modul automatisch beim booten zu laden kannst du ''fuse'' natürlich auch in die Modul-Liste der /etc/rc.conf eintragen)) | (Um das Modul automatisch beim booten zu laden kannst du ''fuse'' natürlich auch in die Modul-Liste der /etc/rc.conf eintragen)) | ||
=== Mounten === | === Mounten === | ||
Um ein entferntes Verzeichnis zu mounten verwendest du den Befehl ''sshfs'': | Um ein entferntes Verzeichnis zu mounten verwendest du den Befehl ''sshfs'': | ||
# sshfs USERNAME@HOSTNAME_ODER_IP:/PFAD LOKALER_MOUNT_POINT SSH_OPTIONEN | |||
Zum Beispiel: | Zum Beispiel: | ||
# sshfs sessy@mycomputer:/home/sessy /mnt/sessy -C -p 9876 | # sshfs sessy@mycomputer:/home/sessy /mnt/sessy -C -p 9876 | ||
Wobei 9876 die Portnummer ist. | Wobei 9876 die Portnummer ist. | ||
Zeile 33: | Zeile 39: | ||
=== Aushängen === | === Aushängen === | ||
Um das entfernte System wieder auszuhängen: | Um das entfernte System wieder auszuhängen: | ||
# fusermount -u LOKALER_MOUNT_POINT | |||
Zum Beispiel: | Zum Beispiel: | ||
# fusermount -u /mnt/sessy | # fusermount -u /mnt/sessy | ||
== Tipps == | == Tipps == | ||
Um schnell ein entferntes Verzeichnis zu mounten tu das in ein Skript | Um schnell ein entferntes Verzeichnis zu mounten tu das in ein Skript | ||
sshfs USERNAME@HOSTNAME_OR_IP:/PATH LOCAL_MOUNT_POINT SSH_OPTIONS'' | sshfs USERNAME@HOSTNAME_OR_IP:/PATH LOCAL_MOUNT_POINT SSH_OPTIONS'' | ||
mc ~ LOCAL_MOUNT_POINT | mc ~ LOCAL_MOUNT_POINT | ||
Zeile 44: | Zeile 54: | ||
Das mountet das entfernte Verzeichniss, öffnet den MC und hängt es wieder aus wenn du ihn wieder schließt. | Das mountet das entfernte Verzeichniss, öffnet den MC und hängt es wieder aus wenn du ihn wieder schließt. | ||
Thunar hat Probleme mit FAM und enfernten Verzeichnissen. Wenn er die entfernten Ordner nicht anzeigen sollte oder andere Probleme damit auftauchen sollten, dann ersetze einfach fam durch gamin. Gamin ist eine Weiterentwicklung von fam. | Thunar hat Probleme mit FAM und enfernten Verzeichnissen. Wenn er die entfernten Ordner nicht anzeigen sollte oder andere Probleme damit auftauchen sollten, dann ersetze einfach fam durch gamin. Gamin ist eine Weiterentwicklung von fam. | ||
pacman -S gamin | pacman -S gamin | ||
vim /etc/rc.conf #entferne fam unter DEAMONS | vim /etc/rc.conf #entferne fam unter DEAMONS | ||
Zeile 62: | Zeile 69: | ||
==fstab== | ==fstab== | ||
Ein Beispiel wie sshfs verwendet werden sollte wenn man es das entfernte Dateisystem über /etc/fstab mounten will | Ein Beispiel wie sshfs verwendet werden sollte wenn man es das entfernte Dateisystem über /etc/fstab mounten will | ||
sshfs#USERNAME@HOSTNAME_OR_IP:/REMOTE/DIRECTORY /LOCAL/MOUNTPOINT fuse defaults 0 0 | sshfs#USERNAME@HOSTNAME_OR_IP:/REMOTE/DIRECTORY /LOCAL/MOUNTPOINT fuse defaults 0 0 | ||
Obschon das obere nicht automatisch funktionieren wird, wenn du keinen ssh key für den Benutzer [http://wiki.archlinux.org/index.php/Using_SSH_Keys verwendest] | Obschon das obere nicht automatisch funktionieren wird, wenn du keinen ssh key für den Benutzer [http://wiki.archlinux.org/index.php/Using_SSH_Keys verwendest] | ||
Wenn du sshfs für mehrere Benutzer des Systems verwenden willst: | |||
sshfs#user@domain.org:/home/user /media/user fuse defaults,allow_other 0 0 | sshfs#user@domain.org:/home/user /media/user fuse defaults,allow_other 0 0 | ||
''Anmerkung'' Mit der oberen Methode wird umount zurückgeben, dass das Filesystem nicht in der fstab enthalten ist. Um dies zu umgehen, entferne den '<code>sshfs#</code>' prefix, ändere das Filesystem von '<code>fuse</code>' zu '<code>fuse.sshfs</code>', und erstelle das Skript '<code>/sbin/mount.fuse.sshfs</code>': | ''Anmerkung'' Mit der oberen Methode wird umount zurückgeben, dass das Filesystem nicht in der fstab enthalten ist. Um dies zu umgehen, entferne den '<code>sshfs#</code>' prefix, ändere das Filesystem von '<code>fuse</code>' zu '<code>fuse.sshfs</code>', und erstelle das Skript '<code>/sbin/mount.fuse.sshfs</code>': | ||
#!/bin/bash | #!/bin/bash | ||
Zeile 92: | Zeile 98: | ||
* [http://wiki.archlinux.org/index.php/SSH SSH im englischsprachigen Arch-Wiki] | * [http://wiki.archlinux.org/index.php/SSH SSH im englischsprachigen Arch-Wiki] | ||
* [http://www.raiden.net/articles/arch_linux_sshsshfs_guide/ Arch SSH/SSHFS Guide] | * [http://www.raiden.net/articles/arch_linux_sshsshfs_guide/ Arch SSH/SSHFS Guide] | ||
[[en:Sshfs]] |
Version vom 21. April 2010, 04:04 Uhr
Dieser Artikel behandelt die Einrichtung von sshfs. Der Artikel ist eine Übersetzung des englischen Originals, zu finden hier: [1]
Einleitung
Sshfs kann verwendet werden um eine Partition auf einem entfernten Rechner über das ssh-Protokoll so zu mounten, dass sie als ein lokaler Ordner erscheint. So wird es möglich alle Werkzeuge zu verwenden die man auch auf seine lokalen Dateien anwenden kann. Sshfs sollte gegenüber shfs bevorzugt werden, da seit 2004 kein neues Release von shf herrausgebracht wurde.
Installation
Um die benötigten Dateien zu installieren reicht ein:
# pacman -S sshfs
Das sollte fuse, sshfs und unter Umständen noch einige weitere Pakete installieren.
Verwendung
Zuerst sollte das Kernelmodul fuse geladen sein. Also als root:
# modprobe fuse
(Um das Modul automatisch beim booten zu laden kannst du fuse natürlich auch in die Modul-Liste der /etc/rc.conf eintragen))
Mounten
Um ein entferntes Verzeichnis zu mounten verwendest du den Befehl sshfs:
# sshfs USERNAME@HOSTNAME_ODER_IP:/PFAD LOKALER_MOUNT_POINT SSH_OPTIONEN
Zum Beispiel:
# sshfs sessy@mycomputer:/home/sessy /mnt/sessy -C -p 9876
Wobei 9876 die Portnummer ist.
Bevor du dich verbindest solltest du auch darauf achten, die Berechtigungen für alle Clientordner richtig einzustellen, die du von einem entfernten Rechner aus mounten willst. Was bedeutet, dass root nicht der Besitzer sein sollte!
SSH wird dich nach dem Benutzerpasswort fragen. Wenn du das Passwort nicht ständig neu eingeben willst lies das: How to Use RSA Key Authentication with SSH.
Aushängen
Um das entfernte System wieder auszuhängen:
# fusermount -u LOKALER_MOUNT_POINT
Zum Beispiel:
# fusermount -u /mnt/sessy
Tipps
Um schnell ein entferntes Verzeichnis zu mounten tu das in ein Skript
sshfs USERNAME@HOSTNAME_OR_IP:/PATH LOCAL_MOUNT_POINT SSH_OPTIONS mc ~ LOCAL_MOUNT_POINT fusermount -u LOCAL_MOUNT_POINT
Das mountet das entfernte Verzeichniss, öffnet den MC und hängt es wieder aus wenn du ihn wieder schließt.
Thunar hat Probleme mit FAM und enfernten Verzeichnissen. Wenn er die entfernten Ordner nicht anzeigen sollte oder andere Probleme damit auftauchen sollten, dann ersetze einfach fam durch gamin. Gamin ist eine Weiterentwicklung von fam.
pacman -S gamin vim /etc/rc.conf #entferne fam unter DEAMONS
Problembehebung
Connection reset by peer
- Wenn du versucht hast die Verbindung mit dem Hostnamen aufzubauen versuche es über die IP, da es ein Problem mit dem Domainnamen sein kann. Stelle sicher, dass der Server in der Datei /etc/hosts eingetragen ist.
- Wenn du nicht standartmäßigen Schlüsselnamen verwendest und es auf folgende Weise machen solltest
-i .ssh/my_key
, wirst du feststellen das es nicht funktioniert. Du musst-o IdentityFile=/home/user/.ssh/my_key
mit dem vollen Pfad zum Schlüssel verwenden - Füge die Option '
sshfs_debug
' hinzu ('sshfs -o sshfs_debug user@server ...
'). Dies kann das Problem eingrenzen. - Wenn du versuchst sshfs in einem Router wie dem DD-WRT (oder Ähnliches)zu betreiben findest du hier die Lösung.
- Forum thread: sshfs: Connection reset by peer
fstab
Ein Beispiel wie sshfs verwendet werden sollte wenn man es das entfernte Dateisystem über /etc/fstab mounten will
sshfs#USERNAME@HOSTNAME_OR_IP:/REMOTE/DIRECTORY /LOCAL/MOUNTPOINT fuse defaults 0 0
Obschon das obere nicht automatisch funktionieren wird, wenn du keinen ssh key für den Benutzer verwendest
Wenn du sshfs für mehrere Benutzer des Systems verwenden willst:
sshfs#user@domain.org:/home/user /media/user fuse defaults,allow_other 0 0
Anmerkung Mit der oberen Methode wird umount zurückgeben, dass das Filesystem nicht in der fstab enthalten ist. Um dies zu umgehen, entferne den 'sshfs#
' prefix, ändere das Filesystem von 'fuse
' zu 'fuse.sshfs
', und erstelle das Skript '/sbin/mount.fuse.sshfs
':
#!/bin/bash DEVICE="$1" MOUNTPOINT="$2" OPTIONS="$4" OPTIONS="${OPTIONS/,noauto/}" OPTIONS="${OPTIONS/,user/}" # workaround to conflicting 'user' options # in fstab, specify 'login=joe' instead of 'user=joe' OPTIONS="${OPTIONS/,login=/,user=}" exec /usr/bin/sshfs "$DEVICE" "$MOUNTPOINT" -o "$OPTIONS"