staging.inyokaproject.org

Wie Verzeichnis per SFTP automatisch beim booten mounten

Status: Gelöst | Ubuntu-Version: Ubuntu 18.04 (Bionic Beaver)
Antworten |

Bubi2

Anmeldungsdatum:
23. Oktober 2018

Beiträge: 76

Weil ich schlechte Erfahrungen mit dem Editieren der fstab habe frage ich vorher. Ich möchte das Verzeichnis "test" von einen Server per SFTP automatisch als Verzeichnis "mytest" einhängen. Dazu hätte ich folgen Eintag in der fstab geschrieben.

//meinserver.de/home/www/test /home/benutzername/mytest cifs defaults,uid=1000,auto,username=myname,password=mypasswort

1. bin ich mir nicht sicher ob die Syntax so korrekt ist, und 2. habe ich bedenke bei der Option "auto". Mein Rechner kann sich zum Server ja erst verbinden wenn die Netzwerk/Internetverbindung hergestellt ist. Und das ist sie beim Booten bestimmt noch nicht. Wie kann ich das lösen oder ist mein Ansatz völlig falsch und es gibt einen bessere Lösung. Samba steht nicht zur Verfügung.

Grüße

Moderiert von kB:

Aus dem Forum „Netzwerk und Internetzugang einrichten“ in einen besser passenden Forenbereich verschoben. Bitte beachte die als wichtig markierten Themen („Welche Themen gehören hier her und welche nicht?“) im jeweiligen Forum! Danke.

Doc_Symbiosis

Avatar von Doc_Symbiosis

Anmeldungsdatum:
11. Oktober 2006

Beiträge: 4453

Hm, meinst Du wirklich SFTP, was Du einhängen möchtest oder ein Sambs-Laufwerk, wie es deine Zeile der fstab vermuten lässt?

Und Du solltest die Mount-Option netdev verwenden, damit stellst Du sicher, dass der Mount erst durchgeführt wird, wenn das Netzwerk verfügbar ist.

Bubi2

(Themenstarter)

Anmeldungsdatum:
23. Oktober 2018

Beiträge: 76

ja es sollte FTP/SFTP sein.

netdev ist dann für das hinausgezögert bis Netzwerkzugriff besteht und cifs kann ich vergessen da es nur nur für Samba ist. o.K.

Im Terminal funktioniert es mit sshfs gut. Wenn ich aber sshfs in der fstab einbinden möchte weiß ich nicht wie und wo ich das Password angeben kann.

sshfs Username@meinserver.de/home/www/test /home/benutzername/mytest _netdev

Im Wiki steht was von Public-Keys, geht das nicht einfacher?

Doc_Symbiosis

Avatar von Doc_Symbiosis

Anmeldungsdatum:
11. Oktober 2006

Beiträge: 4453

Mit SSH-Key geht es nicht nur einfacher, in diesem Fall ist es denke ich unbedingt notwendig. Also Du musst zunächst die SSH (Abschnitt „Authentifizierung-ueber-Public-Keys“) einrichten.

Danach sollte es funktionieren, wenn Du in der fstab etwas in dieser Form einträgst, zumindest laut Wiki-Artikel:

sshfs#Benutzername@irgendEinRechner:/pfad_auf_dem_server/ ~/fusessh fuse uid=1003,gid=100,umask=0,allow_other,_netdev 0 0

Die Raute hinter dem sshfs kommt mir dabei allerdings ein wenig seltsam vor.

Zum Testen kannst Du dann übrigens einfach folgendes ausführen:

sudo mount -a

Sprich Du musst nicht extra neu starten. Nur zum Testen, ob das mit dem _netdev richtig funktioniert, müsstest Du final mal neu starten und schauen, ob es dann immer noch funktioniert.

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Hallo!

Die Raute sieht zwar komisch aus, kommt aber da hin.

1
sshfs#user@server.domain:verz/ /Ein/hänge/Pfad fuse port=1234,compression=no,allow_other,IdentityFile=/Pfad/Zum/PubKey,idmap=user,uid=1000,gid=1000,_netdev 0 0

würde bspw. sobald das Netzwerk erfolgreich hergestellt ist eine Verbindung mit Usermapping auf den Hauptbenutzer ausführen.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9837

Bubi2 schrieb:

[…] Eintag in der fstab geschrieben.

//meinserver.de/home/www/test /home/benutzername/mytest cifs defaults,uid=1000,auto,username=myname,password=mypasswort

Das wird so aus mehreren Gründen nicht funktionieren:

  1. Als Quelle muss eine URL nach dem Schema ssh verwendet werden, z.b. so etwas: sshfs#$root@192.168.1.142:/home/www/test Ich würde hier lieber die IP-Adresse direkt eintragen, weil man nicht sicher sein kann, dass die DNS-Namensauflösung bereits funktioniert.

  2. Einbinden eines sshfs-Dateisystems funktioniert wohl nur über fuse, daher muss als Type verwendet werden: fuse.sshfs

  3. Als Optionen würde ich anfangen mit: defaults,noauto,_netdev,users,IdentityFile=… Dabei ist hinter IdentityFile= der zu verwendende private SSH-Schlüssel mit vollständigem Dateipfad anzugeben, dessen öffentlichen Teil man vorher auf den Server kopiert hat. Passwort funktioniert hier nicht. Wegen noauto wird das beim Hochfahren zunächst nicht eingebunden, sondern man muss es händisch per mount machen. Wenn das funktioniert, hat man eine funktionierende Zeile für die Datei /etc/fstab und kann die Option noauto wieder ausbauen.

Bubi2

(Themenstarter)

Anmeldungsdatum:
23. Oktober 2018

Beiträge: 76

Vielen Dank schon mal für eure Beiträge. Ich habe mich jetzt schon etwas in das Thema Public-Keys eingelesen und hoffe das ich meinen EGP-Schlüssel nutzen kann. Ansonsten werde ich einen neuen erstellen. Ich werde es morgen schrittweise so wie es kB beschrieben hat testen. Frage,

IdentityFile=/Pfad/Zum/PubKey

ist der Pfad zum ServerVerzeichniss mit den Pubkey?

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Bubi2 schrieb:

Frage,

IdentityFile=/Pfad/Zum/PubKey

ist der Pfad zum ServerVerzeichniss mit den Pubkey?

Nein, das ist dein lokaler Schlüssel, der normalerweise in ~/.ssh/ liegt.

Bubi2

(Themenstarter)

Anmeldungsdatum:
23. Oktober 2018

Beiträge: 76

Zur Info, das mit der # scheint so wie ChickenLipsRfun2eat es schon bestätigt hat richtig zu sein. Ich habe die Key-Dateien erstellt und auf dem Server kopiert. Ich habe es so in der fstab eingetragen

sshfs#user@server.domain:verz/ /Ein/hänge/Pfad fuse port=22,IdentityFile=/Pfad/Zum/PubKey,uid=1000,gid=1000,_netdev 0 0

Es scheint so das es funktioniert, nur kann ich noch nicht auf das eingehängte Laufwerk zugreifen da mir die Rechte fehlen. Ich bekomme die Fehlermeldung "Sie haben nicht die erforderlichen Rechte..." Ich dachte das ich die Rechte mit uid=1000 hätte?

Bubi2

(Themenstarter)

Anmeldungsdatum:
23. Oktober 2018

Beiträge: 76

Ich schaffe es nicht das ich die nötigen Rechte für das gemounteten Verzeichnis bekomme. Daher habe ich den Eintrag in der fstab wieder gelöscht und mir eine crontab geschrieben der dieses Script alle 10min ausführt.

sshfs benutzer@meinserver.de/home/www/test /home/benutzername/mytest

Das ist nicht das was ich wollte, es funktioniert aber.

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Bubi2 schrieb:

Das ist nicht das was ich wollte, es funktioniert aber.

Lass mal nach ner Stunde den Befehl mount laufen. Wenns blöd läuft, hast du das dann 6mal übereinander eingebunden.

Zum Rechte-Problem: Gib mal deine exakte Befehlszeile an und die Rechte des Zielverzeichnisses.

Bubi2

(Themenstarter)

Anmeldungsdatum:
23. Oktober 2018

Beiträge: 76

ChickenLipsRfun2eat schrieb:

Lass mal nach ner Stunde den Befehl mount laufen.

Bis jetzt ist noch alles gefühlt im grünen Bereich, aber ich gebe dir Recht, das ist nicht im Sinne des Erfinders.

In der fstab hatte ich es so eingetragen:

sshfs#user@server.domain:verz/ /home/benutzername/EinhängePfad fuse IdentityFile=/Pfad/Zum/PubKey,uid=1000,gid=1000,_netdev 0 0

dann wird das Verzeichnis eingehangen aber beim Zugriff bekomme ich die Meldung das mir die Rechte fehlen.

Wenn ich es so

sshfs#user@server.domain:verz/ home/benutzer/EinhängePfad

in der Konsole eingebe funktioniert alles 100% d.H. ich habe auch alle Rechte.

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Wie sind die Ausgaben von

id
ls -lhad /home/benutzername/EinhängePfad
df /home/benutzername/EinhängePfad

Bubi2

(Themenstarter)

Anmeldungsdatum:
23. Oktober 2018

Beiträge: 76

ID

uid=1000(bl) gid=1000(bl) Gruppen=1000(bl),4(adm),5(tty),20(dialout),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare),127(davfs2)

von ls -lhad /home/bl/Biliothek/

drwxr-xr-x 1 1305 1305 4,0K Apr 15 15:59 /home/bl/Biliothek/

und von df

Dateisystem 1K-Blöcke    Benutzt  Verfügbar Verw% Eingehängt auf
user@meinserver.de:/home/www/books/bbs/books/ 3813729392 1880700088 1739279904   52% /home/bl/Biliothek

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Das sieht tatsächlich unverdächtig aus. Spuckt nach einem Neustart mit der fstab-Zeile das journal was brauchbares aus?

journalctl -b -xep 0..4

# ggf. prüfen:
systemctl status sys-fs-fuse-connections.mount
Antworten |