Ich habe vor ein paar Tagen mein Betriebssystem von Windows auf Fedora umgestellt. Ich bin also ein absoluter Anfänger, was Linux angeht.
Mein grundlegendes Ziel ist es, beim Start ein Remote-Laufwerk (mein Cloud-Laufwerk) hinzuzufügen, damit ich es verwenden kann. Ich habe versucht, ein Bash-Skript zu erstellen, das beim Start mithilfe von ausgeführt wird sftp
. Ich habe den folgenden Code gefunden.
sshfs [email protected]:/targetpath ~/mountdir
Mein Problem ist, dassdas funktioniert mit Root-Berechtigungen, aber nicht mit meinen Benutzerberechtigungen. Beim Ausführen mit meinen normalen Berechtigungen erhalte ich den Fehler read: Connection reset by peer
. Da ich dies beim Start ausführen möchte, möchte ich keine Root-Berechtigungen verwenden.
Außerdem habe ich nach einer Lösung gesucht, um meinen Benutzernamen und das Passwort zu speichern, aber ich habe noch nichts gefunden, sodass ich sie nicht jedes Mal eingeben muss.
Hintergrund
Fstab: Ich habe viel gegoogelt, was mich fstab
zunächst zu der Datei geführt hat. Ich habe einen ganzen Tag damit verbracht und am Ende ist das System kaputtgegangen, weil beim Systemstart keine Internetverbindung bestand und die Zielfestplatte daher nicht eingebunden werden konnte (zumindest glaube ich, dass das passiert ist).
Skript (WebDAV, sftp): Ich habe dann versucht, WebDAV mit
mount -t davfs2 https://webdav.example.com ~/mountdir
aber auch das funktioniert nur mit Root-Rechten (Fehler: mount: only "root" can do that
). Mein nächster Schritt war dann, SFTP zu verwenden, was irgendwie besser zu funktionieren scheint. Aber dann bekam ich den oben erwähnten Fehler (Fehler: read: Connection reset by peer
).
Ich möchte die Dateien nicht lokal speichern, da nicht genügend Speicherplatz verfügbar ist.
Es tut mir leid, wenn das eine dumme oder sehr einfache Frage ist, aber ich komme nicht weiter. Vielen Dank für Ihre Hilfe.
Antwort1
Sie sollten ein Skript niemals als Root ausführen! Mir fallen zwar einige Gründe ein, warum man ein Skript als Root ausführen sollte, aber im Allgemeinen ist das keine gute Idee. sshfs
Außerdem ist Root nicht erforderlich, um zu funktionieren! :)
Dies sollte Ihnen ermöglichen, ein Remote-SSH-Dateisystem mit einem Kennwort zu mounten sshfs
(es wäre besser, wenn Sie anstelle eines Kennworts ein Zertifikat verwenden könnten).
echo <mypassword> | sshfs <myuser>@<site.tld>:/ ~/<myfolder> -o workaround=rename -o password_stdin
Ersetzen Sie <mypassword>
, <myuser>
, <site.tld>
und <myfolder>
.
Beispiel:
echo 4ghNZGpk182q8SvY0kw0 | sshfs [email protected]:/ ~/diblo -o workaround=rename -o password_stdin
NOTIZ:Stellen Sie sicher, dass der Mount-Ordner ~/<myfolder>
vorhanden ist, oder erstellen Sie ihn (Denken Sie daran, den Ordner vom Linux-Benutzer aus zu erstellen, unter dem Sie das Skript ausführen möchten):
mkdir -p ~/<myfolder>
Ersetzen <myfolder>
.