Sshfs: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
MacWolf (Diskussion | Beiträge)
K Kategorie verändert
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''
 
  # 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''
 
  # 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:


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"

Siehe auch