Liebes Forum,
ich habe eine SSD mit unverschlüsselter boot Partition und lvm mit system und swap. Zusätzlich habe ich noch ein Raid 5 Verbund bestehend aus 3 gleich großen HDDs.
Entschlüsselung beider Volumes sda5 (lvm) und md0 (raid) funktioniert von lokal mittels keyboard prompt astrein mit einer keyeingabe. D.h ich Entschlüssele sda5 nach sdb5_crypt mittels keyboard input und anschließend md0 nach md0_crypt über ein keyfile, das in der nun entschlüsselten Systempartition zu finden ist.
siehe /etc/crypttab
1 2 | sdb5_crypt UUID=eaxxxxxx-d9cd-xxxx-xxxx-3ccaaaaaac5 none luks md0_crypt UUID=7dyyyyyy-9e18-yyyy-yyyy-183bbbbbbbf2 /root/raid_luks.key luks |
Nun bin ich wie hinreichend im Netz in div. Anleitungen u.a. auch hier beschrieben vorgegangen und habe zum einen Remote Entschlüsselung via ssh implementiert bspw. hier: https://stinkyparkia.wordpress.com/2014/10/14/remote-unlocking-luks-encrypted-lvm-using-dropbear-ssh-in-ubuntu-server-14-04-1-with-static-ipst/ speziell das script in der /etc/initramfs-tools/hooks/crypt_unlock.sh ist in der genannten Anleitung herausragend (d.h. keine Klartext PW Eingabe im shell)
Und es funktioniert, /etc/crypttab wurde hierzu nicht verändert.
Die Implementierung der Entschlüsselung via USB key https://wiki.ubuntuusers.de/System_verschl%C3%BCsseln/Entschl%C3%BCsseln_mit_einem_USB-Schl%C3%BCssel/ funktioniert auch prima, auch wenn ich in die /etc/initramfs-tools/modules noch folgende Eintragung vornehmen musste, dass es ging.
1 2 3 | usbcore usbhid usb_storage |
Die Passende /etc/crypttab dazu:
1 2 | sdb5_crypt UUID=eaxxxxxx-d9cd-xxxx-xxxx-3ccaaaaaac5 none luks,keyscript=/etc/decryptkeydevice/decryptkeydevice_keyscript.sh md0_crypt UUID=md0_crypt UUID=7dyyyyyy-9e18-yyyy-yyyy-183bbbbbbbf2 /root/raid_luks.key luks |
Nun zum Problem: ich benötige eine Kombination von beidem. und genau da komme ich ins Straucheln... Die letzte der o.g. /etc/crypttabs ermöglicht lediglich die Entschlüsselung via lokalem Keyprompt und USB-Stick, der über das KeyfileScript ausgelesen wird, aber nicht über dropbear ssh (wenn der Stick nicht steckt). Ich kann mich zwar mit dem Dropbear SSH Server verbinden und auch linux kommandos wie ls -la etc ausführen, aber keine Strings und somit auch kein Passwort zur Entschlüsselung des Systems übermitteln (die ssh shell hängt sich dann auf).
Ich vermute, dass sich der PW-String im decryptkeydevice_keyscript.sh verheddert, das ja für die USB Entschlüsselung gedacht ist.
Wenn ich nun in der /etc/crypttab wie in der manpage beschrieben die Option initramfs dem keyscript vorstelle, erreiche ich damit leider nichts, auch eine Kombination der sdb5_crypt Einträge
1 2 3 | sdb5_crypt UUID=eaxxxxxx-d9cd-xxxx-xxxx-3ccaaaaaac5 none luks sdb5_crypt UUID=eaxxxxxx-d9cd-xxxx-xxxx-3ccaaaaaac5 none luks,keyscript=/etc/decryptkeydevice/decryptkeydevice_keyscript.sh md0_crypt UUID=md0_crypt UUID=7dyyyyyy-9e18-yyyy-yyyy-183bbbbbbbf2 /root/raid_luks.key luks |
Führt lediglich zu einem boot im "emergency mode" d.h. das system ist komplett unnutzbar.
Somit folgende Fragen: Weiß jemand, wie man konfigurativ drei Entschlüsselungsmodi (usb stick + ssh + lokaler keyboard prompt) kombinieren kann? Ist das in der /etc/crypttab überhaupt möglich?
Falls das nicht gehen sollte, hat jemand eine zündende Idee, wie man dem decryptkeydevice_keyscript.sh beibringen kann, dass es nicht nur auf die Entschlüsselung vom USB key umsetz, sondern auch die Weitergabe des keys via dropbear vornimmt?
Danke im Voraus