Luks Pass over SSH (Archlinux) [update]

To be able to enter the LUKS-passphrase of the root-partition we wrote an initcpio-hook.

To use it you have to:

  1. install dropbear_initrd_encrypt (e.g. yaourt -S dropbear_initrd_encrypt)
  2. copy SSH-public-keys to /etc/dropbear/root_key
  3. insert ‘dropbear encryptssh’ before ‘filesystems’ into ‘HOOKS’ in /etc/mkinitcpio.conf
  4. take a look at https://wiki.archlinux.org/index.php/Mkinitcpio#Using_net how to configure the network in your Bootloader
  5. and then run as root mkinitcpio -p linux

Damit man per SSH seinen LUKS-Key für die Root-Partition eingeben kann (nützlich für WOL) haben wir einen initcpio-Hook geschrieben:

Folgende Schritte müssen gemacht werden:

  1. dropbear_initrd_encrypt aus dem AUR installieren (z.B. yaourt -S dropbear_initrd_encrypt)
  2. SSH Public Key(s) (Login per Passwort ist deaktiviert) nach “/etc/dropbear/root_key” kopieren
  3. ‘dropbear encryptssh’ in “/etc/mkinitcpio.conf” vor dem ‘filesystems’-Hook einfügen
  4. In https://wiki.archlinux.org/index.php/Mkinitcpio#Using_net nachschauen wie die eigene Bootloader-config mit Netzwerk verheiratet
  5. mit “mkinitcpio -p linux” die initrd neuerstellen

11 Gedanken zu “Luks Pass over SSH (Archlinux) [update]

  1. Leider bekomme ich’s mit der Anleitung nicht zum laufen…

    Dropbear startet sich bei der Luks-Passworteingabe, aber ich kann mich trotz RSA-Key in root_keys nicht einloggen. Fehlermeldung: “login attempt for nonexistent user from X.X.X.X:XXXXX”

    Was ich gemacht habe:
    1. Auf Zweitrechner einen RSA-Key (Benutzer “dd”) generiert (ssh-keygen), kein Passwort gewählt.
    2. pub-Key auf den Server kopiert, in /etc/dropbear/root_key eingefügt.
    3. “dropbear encryptssh” vor “filesystems” in /etc/mkinitcpio.conf einfügen (unter HOOKS)
    4. als root: mkinitcpio -p kernel26
    5. Neustart, Passwortabfrage, dropbear startet
    6. Zweitrechner: ssh dd@server: “login attempt for nonexistent user from X.X.X.X:XXXXX”
    7. Zweitrechner: ssh root@server: “bad password attempt for ‘root’ from X.X.X.X:XXXXX”

    Denkfehler? Was mache ich falsch?

    • hoert sich alles richtig an, das einzige was mir jetzt so spontan einfaellt waeren die rechte von “/etc/dropbear/root_key” die sollten rw——- sein also 600

  2. Vielen Dank fuer die Antwort!

    Gerade ueberprueft, die Rechte von /etc/dropbear/root_key waren korrekt (600).

    Gibt’s noch etwas anderes, das ich ausprobieren koennte? Evtl. Login mit Passwort aktivieren (was muesste ich dafuer aendern)?

  3. Hallo,

    finde leider der Link zum Download der dropbear_initrd_encrypt.tar.gz nicht (auch nicht in der Download Sektion). Bin ich blind oder ist der Download aktuell nicht möglich?

    Gruß

    Markus

  4. Thank you very much for the hook, it worked nicely on my scenario as well (LUKS and wake-on-wan on a laptop). One feature I believe would also be useful would be a timeout value in dropbear hook’s ipconfig line (ipconfig -t ## instead of plain ipconfig in line 15), since, when used on a laptop that is expected to not always have ethernet cable plugged in for example, the hook would hang. Obviously, it is a rare case scenario and can easily be hand-coded (just add -t 5 for a 5-sec timeout for example) but still it would be nice to see it as an option.

  5. Hi,

    leider habe ich deine E-Mailadresse (auf die Schnelle) nicht herausfinden können, daher nutzte ich jetzt einfach mal diese Möglichkeit der Kontaktaufnahme in der Hoffnung dich darauf aufmerksam machen zu können, dass dein Packet im AUR leider nicht mehr mit der aktuellen Version von “mkinitcpio” kompatibel ist.

    Details findest du in den Kommentare zu dem Packet. Es wäre nett, wenn du die paar benötigen Änderungen in dein Packet einpflegen könntest.

    Mit freundlichen Grüßen,
    Karol Babioch

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>