Beim Einrichten einer Ubuntu (13.04) Workstation versuche ich, ein Remote-Dateisystem (über ssh) bereitzustellen.
Die aktuelle Konfiguration
Ich habe Benutzer einbenutzer und hinzugefügt , um es an die Sicherungsgruppe
Mein fstab- Eintrag lautet wie folgt :
sshfs#[email protected]:/remote_dir /media/remote_dir/ fuse auto,_netdev,port=22,user,allow_other,noatime,follow_symlinks,IdentityFile=/home/someuser/.ssh/id_rsa,reconnect 0 0
Meinem Verständnis nach :
- auto : fordert explizit an, dass die fs beim booten eingehängt werden
- _netdev : Warten Sie, bis die Schnittstelle aktiv ist, bevor Sie versuchen, sie zu mounten
- Benutzer : Jeder Benutzer kann die Bereitstellung dieses bestimmten Remotestandorts anfordern (aus Sicht des Root-Benutzers nutzlos, der die Bereitstellung automatisch beim Systemstart vornimmt).
- allow_other : Ermöglicht jedem Benutzer (in der Sicherungsgruppe?) den Zugriff auf die bereitgestellten fs
- IdentityFile : Verweist auf den privaten Schlüssel, der mit dem öffentlichen Schlüssel gepaart ist, der im Verzeichnis /home/someuser/.ssh/authorized_key des Remotecomputers hinzugefügt wurde .
- Verbindung wiederherstellen : Nicht sicher ... Wird versucht, die Verbindung wiederherzustellen, wenn die Verbindung unterbrochen wird?
Das Problem
Beim Booten logge ich mich mit einem Benutzer ein , starte ein Terminal und / media / remote_dir ist leer.
Aber vom selben Benutzer (oder Root) kann ich es einhängen, indem ich einfach Folgendes eingebe:
mount sshfs#[email protected]:/remote_dir
Es wird auch automatisch gemountet, wenn ich in einem Dateibrowser auf remote_dir klicke .
Haben Sie einen Hinweis darauf, was fehlen könnte?
Antworten:
Ich hatte genau das gleiche Problem nach dem Upgrade von Oneiric (bei dem der Automount einwandfrei funktioniert hat) auf Precise.
Was das Problem für mich löste, war das Hinzufügen der delay_connect- Option. Außerdem habe ich die Option "workaround = rename" bereits seit Oneiric-Zeiten verwendet. Ich bin mir nicht sicher, ob es heute noch gebraucht wird, aber es scheint zumindest nicht weh zu tun.
Meine vollständige / etc / fstab-Zeile lautet:
Sie müssten natürlich die Benutzer- / Gruppen-IDs an Ihre eigene Umgebung anpassen.
quelle
_netdev
Problem ist in Tonys Antwort erklärt. Das Netzwerk ist möglicherweise in Betrieb, kann den Host jedoch immer noch nicht auflösen. Die Verwendung einer IP-Adresse würde das natürlich lösen, aber wer möchte IP-Adressen in seiner fstab haben?Auch um alle vorherigen Kommentare zu ergänzen,
Stellen Sie sicher, dass Sie Nicht-Root-Benutzern erlauben, die
allow_other
Mount-Option in anzugeben/etc/fuse.conf
Stellen Sie sicher, dass Sie jeden sshfs-Mount während des Root-Vorgangs mindestens einmal manuell ausführen, damit die Signatur des Hosts zur
~/.ssh/known_hosts
Datei hinzugefügt wird.quelle
hatte das gleiche problem, ich glaube du brauchst auto um noauto zu sein. Es sollte nicht beim Booten eingebunden werden, es sollte eingebunden werden, wenn die eth aktiv ist
quelle
_netdev
, und das Ändern mitnoauto
würde es unmöglich machen, beim Booten zu mounten (nur explizit bei Verwendung des Befehls mount )Wenn Sie es von einem autorisierenden DNS-Server laden möchten
/etc/fstab
und der Hostname Ihres Remote-SFTP-Servers von diesem DNS-Server bereitgestellt wird, können Sie mit Sicherheit keine Verbindung herstellen, da der Hostname noch nicht aufgelöst werden kann. Entweder muss der DNS-Server beim Bereitstellen ausgeführt werden, oder Sie müssen eine alternative Methode finden, um die IP-Adresse Ihres Remoteservers abzurufen.In diesem Fall können Sie eine der folgenden Lösungen auswählen:
delay_connect
Option hinzu, damit die Startsequenz fortgesetzt werden kann, und nachdem die Startsequenz gestartet wurde, stellt der DNS-Server eine Verbindung her./etc/hosts
mit der entsprechenden IP-Adresse zu Ihrer lokalen Datei hinzu.fstab
anstelle des Hostnamens.quelle
delay_connect
Option erweitern? Wo ist es hinzugefügt? Bearbeiten Sie Ihre Frage mit weiteren Informationen.