LVM + LUKS + btrfs - verschlüsseltes root-Laufwerk per SSH entschlüsseln [Leap 15.2]

Hinweis: In dem Thema LVM + LUKS + btrfs - verschlüsseltes root-Laufwerk per SSH entschlüsseln [Leap 15.2] gibt es 5 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • Hallo liebe OpenSuse-Gemeinde :)


    Ich nutze seid ~1,5 Jahren Tumbleweed mit Fulldisk-Encryption und habe diese Woche auf meinem Server Leap 15.2 installiert.


    Der Server:

    • Mainboard: Fujitsu D3417-B (Industrie-Mainboard mit Extended Lifecycle)
    • CPU: Intel(R) Pentium(R) CPU G4560 @ 3.50GHz
    • RAM: 8 + 16GB ECC - Kingston 2400 MHz DDR4
    • SystemDisk: 120GB NVME-SSD
    • Storage-HDDs: 2x4TB btrfs Raid1

    Die Installation erfolgte auf einer 120GB nvme SSD. Dazu habe ich LVM mit Btrfs gewählt, außerdem habe ich die gesamte SSD verschlüsselt.

    Nun möchte ich die SSD gern per SSH entschlüsseln können.

    (Das Mainboard hat auch Intel AMT und solche Sache. Diese proprietären Geschichten möchte aber nicht nutzen. Außerdem wäre die Lösung per SSH universeller.)


    Nach Internetrecherche habe ich leider nur Informationen zu anderen Betriebssystemen gefunden.z.B.:

    Was ich aus diesen und anderen Quellen bisher herausfinden konnte:

    Was ich daraufhin getan habe:


    Dracut-sshd von obs://build.opensuse.org/home:Monex installiert:

    Anschließend habe ich folgende Dateien Erstellt:

    Code: /etc/systemd/network/20-wired.network
    [Match]
    Name=e*
    
    [Network]
    DHCP=ipv4
    Code: vi /etc/dracut.conf.d/90-networkd.conf
    install_items+=" /etc/systemd/network/20-wired.network "
    add_dracutmodules+=" systemd-networkd "

    Letztendlich noch mittels dracut -f -v das Initramfs neu erstellt.

    Nach der Erstellung ist das Modul laut lsinitrd vorhanden.


    Leider ist der Server aber nach dem Reboot nicht pingbar.
    Es kommt nur die Aufforderung, das Passwort zum entschlüsseln einzugeben (in der lokalen Konsole am Server). Wenn ich nach dem Abbrechen der Eingabe des Passwortes in die Grub-cmd-line gehe, kann ich aber dhcp aktivieren und der Rechner ist pingbar.


    Hat jemand eine Idee, wie ich den Networkd mit Dracut so zum laufen bekomme, dass ich den sshd im intiramfs erreiche?

    Oder gibt es eine andere Lösung?<br><br>Vielen Dank im Voraus und allen eine angenehme Nachtruhe :-)

    Für den Inhalt des Beitrages 283155 haftet ausdrücklich der jeweilige Autor: SuseUser90

  • SuseUser90

    Hat den Titel des Themas von „LUKS verschlüsselte Festplatte über SSH entschlüsseln [Leap 15.2]“ zu „LVM + LUKS + btrfs - verschlüsseltes root-Laufwerk per SSH entschlüsseln [Leap 15.2]“ geändert.
  • Ich habe das Problem jetzt erstmal vorübergehend so gelöst, dass ich an dem Server die COM-Schnittstelle nutze um das Passwort einzugeben, aber es wäre schön, wenn jemand hier noch eine Idee hätte, wie das eigentliche Problem gelöste werden könnte. :)

    Für den Inhalt des Beitrages 283532 haftet ausdrücklich der jeweilige Autor: SuseUser90

  • Vielen Dank erstmal für die Antwort :)

    Was ist daran so schwer?

    dnf ist das Äquivalent zu zypper

    Mir ist schon bewusst, dass es sich einfach um einen anderen Paketmanager handelt ;)

    Das war ja auch nicht mein Problem. Ich habe ja alles so wie in der verlinkten Anleitung gemacht, bis auf die Tatsache, dass das Paket nicht in den Offiziellen Repos war.


    Mein Problem war am Ende, dass der Server nicht aus dem Netzwerk erreichbar war.


    Nach ein bisschen Recherche stellte ich mir nun folgende Frage.


    Das intiramfs liegt ja unter /boot/ - kann es also sein, dass das initramfs erst nach dem initialen/ersten Entschlüsseln geladen wird und dementsprechend weder Netzwerk, noch sshd aktiv sind (weil ja das initramfs noch nicht läuft).


    So richtig überblicke ich noch nicht, in welcher "stage" die erste Entschlüsselung greift und an welcher Stelle das initiramfs geladen wird.Auf dieser Seite werden 6 Stages aufgeführt: BIOS-->MBR-->GRUB-->Kernel-->Init-->Runlevel.


    Es müsste doch nach dieser Gliederung so sein, dass GRUB die initiale Entschlüsseln übernimmt und anschließend, nach dem Kernel, das Initramfs geladen wird?


    Das würde doch bedeuten, ich müsste den SSH-Server in den GRUB Bootloader integrieren und nicht in das initramfs?

    Für den Inhalt des Beitrages 283813 haftet ausdrücklich der jeweilige Autor: SuseUser90