FTP Zugang am Heimrechner mounten RSA Key? (Webhosting)

  • Hallo,


    ich möchte einen Ordner meines Webhostings auf meinem Rechner (Debian) mounten und dies sozusagen als kleine "Cloud" nutzen.



    Ich weiß wie ich Ordner über SFTP mounte aber ich lese im Internet immer wieder, dass es besser wäre einen RSA Key zu verwenden und nicht das Passwort. Leider finde ich nirgends die Möglichkeit in Plesk solch einen Key zu erstellen.


    Kann mir hierbei weiterhelfen? Oder benötige ich keinen Key und kann das Passwort doch lokal verschlüsseln, damit es nicht im Plaintext irgendwo rumliegt?



    Vielen Dank & Liebe Grüße!

  • key lokal erzeugen, bequemlicherweise ohne passphrase.

    z.b. so ssh-keygen -o -a 100 -t ed25519 -f ~/.ssh/id_ed25519 -C "olivetti@elea9003.com"

    * https://medium.com/risan/upgra…y-to-ed25519-c6e8d60d3c54


    dann die id_ed25519.pub-datei (und nur die .pub) auf's webhosting hochladen.

    und noch auf dem webhosting ausführen:

    Code
    mkdir -m 700 /.ssh
    cat id_ed25519.pub >> /.ssh/authorized_keys
    rm id_ed25519.pub

    (beim mkdir… heisst's evtl. "file exists", falls /.ssh schon existiert -> einfach ignorieren)

    die keys tauchen dann irgendwann ebenso im plesk auf.

    »Hauptsache BogoMIPS!«

    Fleischfresser

  • Danke! Genau was ich gesucht habe! :)


    Ist authorized_keys ein Ordner oder eine Datei?


    Nachtrag: Bei mir handelt es sich um einen zusätzlichen FTP Nutzer, daher laut WIKI "Ein Zugriff via SSH / SFTP ist nicht möglich, die zusätzlichen Nutzer können allerdings FTPES für die Verschlüsselte Anmeldung am FTP-Server nutzen." Heißt dies nun, dass der Key sowieso nichts bringt? Oder kann ich bei FTPES auch mit einem Key verbinden

  • Nachtrag: Bei mir handelt es sich um einen zusätzlichen FTP Nutzer, daher laut WIKI "Ein Zugriff via SSH / SFTP ist nicht möglich, die zusätzlichen Nutzer können allerdings FTPES für die Verschlüsselte Anmeldung am FTP-Server nutzen." Heißt dies nun, dass der Key sowieso nichts bringt? Oder kann ich bei FTPES auch mit einem Key verbinden

    Das hast Du richtig verstanden. Keyfiles gibt es nur für den Hauptuser, nicht für zusätzliche FTP-User.


    Bei FTPES könntest Du den Ordner aber mit curlftpfs mounten, das unterstützt die ~/.netrc als Quelle für die Zugangsdaten! ;)

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Danke KB19, das liest sich gut! Was mir aber scheint ist, dass ich in netrc das Passwort in Plaintext eingebe. Gibt es dafür Alternativen/Lösungen? Ansonsten gefällt mir das Tool curlftpfs, klein, in C und keine GUI. :)


    Nachtrag: Vermutlich ist es besser ich verbinde mich per SSH und mounte einfach nur den gewünschten Folder. Eingerichtet habe ich das ganze mal in /etc/fstab:

    Code
    user@host:/remote/folder /mount/point  fuse.sshfs noauto,x-systemd.automount,_netdev,IdentityFile=/home/name/.ssh/id_rsa, allow_other,reconnect 0 0

    Leider bewirkt das ganze gar nichts :(


    Nachtrag 2: sshfs allein funktioniert mit Passwort. Heißt wenn ich ich "sshfs user@host:/remote/folder" eingebe fragt er nach dem Passwort. Scheinbar will der Server noch kein key file... In Netcup scheint meine Keyfile (pub) bereits auf. Im FTP Manager ist dem Benutzer auch SSH erlaubt, soweit ich das verstehe.

  • Funktioniert denn der ssh-Befehl mit -i oder scheitert das auch?


    Falls Nein: Dann ist die authorized_keys wahrscheinlich nicht richtig konfiguriert. Eventuell falsche Rechte? (Sollte 0600 sein, nur Owner darf lesen/schreiben.)


    Falls Ja: Trage den Host am Client mal fix in der ~/.ssh/config ein und versuche es nur damit. Ungetestet, schnell am Handy...

    Code: ~/.ssh/config
    Host foobar
      Username XYZ
      Hostname foobar.example.com
      IdentityFile "~/.path/to/private.key"

    Und dann so zum Test mounten: sshfs foobar:/ ~/local/mount/point


    Ob das mit der fstab auch funktioniert, weiß ich ehrlich gesagt nicht. Müsste man testen.

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • authorized_keys und known_hosts müssen nicht auf 0600 gesetzt werden (üblich ist 0644).


    und nein, bei netcups webhosting funktioniert ssh, mit allen ausprägungen wie z.b. sshfs, nur mit dem hauptbenutzer.

    d.h. wenn der key stimmt und einträge in der fstab korrekt sind, mountet sshfs ohne PW, aber leider nicht bei zusätzlichen ftp-nutzern.

    »Hauptsache BogoMIPS!«

    Fleischfresser

  • authorized_keys und known_hosts müssen nicht auf 0600 gesetzt werden (üblich ist 0644).

    Ich bin jetzt ehrlich gesagt zu faul zum Testen, aber ich bin mir ziemlich sicher, dass es (bei Debian & OpenSSH-Server) zumindestens vor einigen Jahren für die authorized_keys zwingend notwendig war, dass ausschließlich der Owner Schreibrechte darauf hat. Schreibrechte für die Gruppe wären glaube ich schon ein Problem, da würde der Login mittels Keyfile immer scheitern. Je nach umask haben lokale Dateien aber schnell einmal 0664 als Standardrechte, die man sich gerne versehentlich mitkopiert. Ob die Leserechte auch geprüft wurden, kann ich nicht mehr sicher aus dem Kopf heraus sagen.


    Die Manpage sagt dazu nur das:

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Danke für die bisherige Unterstützung! Ich bin, glaube ich, nicht mehr weit von der Lösung entfernt.


    Ich kann mich nun mit "ssh -i" auf den Server verbinden mit meiner KeyFile.

    Es funktioniert auch die Verbindung per sshfs mit dem Befehl IdentityFile.


    Was leider noch nicht klappt ist das automatische mounten beim Start des Systems mit

    user@host:/remote/folder /mount/point fuse.sshfs noauto,x-systemd.automount,_netdev,IdentityFile=/home/name/.ssh/id_rsa, allow_other,reconnect 0 0

    Warum das so ist geht mir noch nicht ein. Ich vermute, dass es daran liegen könnte, dass der obige Befehl in fstab als root ausgeführt wird - wo ich aber allerdings nicht in der Lage bin das zu kontrollieren...


    Nachtrag: Habe das ganze nun auch mit autofs versucht wie hier beschrieben https://wiki.archlinux.org/tit…fs#FTP_and_SSH_(with_FUSE) hat leider auch keinen Erfolg gebracht.

  • Und wie wärs mit einem @reboot Cronjob für diesen User? Dann kannst Du einfach direkt den sshfs-Befehl ausführen lassen, völlig ohne fstab. :)

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • KB19

    in openssh wird gemeldet und verweigert, falls der private schlüssel offener als x600 sein sollte.

    wie man den rest in ~/.ssh handhaben will, möge IMHO jeder selbst entscheiden – zwingend ist es aktuell jedenfalls nicht.

    -

    Warum das so ist geht mir noch nicht ein.

    mounte einmal via root (es fehlt sonst der eintrag in der known_hosts), dann machst noauto aus der fstab raus, bzw. prüfe, ob auch die anderen optionen für dich überhaupt einen sinn ergeben.

    »Hauptsache BogoMIPS!«

    Fleischfresser