Encrypt System per SSH entschlüsseln (dropbear) Install geht nicht

Alles rund um sicherheitsrelevante Fragen und Probleme.
Antworten
LinuxNewcomer
Beiträge: 56
Registriert: 22.03.2021 19:42:19

Encrypt System per SSH entschlüsseln (dropbear) Install geht nicht

Beitrag von LinuxNewcomer » 17.04.2021 13:06:01

Hallo Com,

ich habe erfolgreich meine Platten und die System SSD verschlüsselt, das entschlüsseln klappt auch wunderbar. Leider muss ich dazu immer an den Server, Monitor dran und das PW eingeben. Hier soll es wohl auch direkt von einem Remote Rechner per SSD funktionieren. Ich würde gerne, von einem anderen Rechner aus per SSH das PW eingeben und den Server booten lassen.
Ich habe mich mal an dieser Anleitung versucht, leider scheiterte es schon beim ersten Befehl, dropbear zu installieren.

https://www.thomas-krenn.com/de/wiki/Vo ... eischalten

Code: Alles auswählen

Trigger für initramfs-tools (0.133+deb10u1) werden verarbeitet ...
update-initramfs: Generating /boot/initrd.img-4.19.0-16-amd64
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8107e-2.fw for module r816                                                                                                                                           9
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8107e-1.fw for module r816                                                                                                                                           9
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168h-2.fw for module r816                                                                                                                                           9
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168h-1.fw for module r816                                                                                                                                           9
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168g-3.fw for module r816                                                                                                                                           9
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168g-2.fw for module r816                                                                                                                                           9
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8106e-2.fw for module r816                                                                                                                                           9
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8106e-1.fw for module r816                                                                                                                                           9
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8411-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8411-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8402-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168f-2.fw for module r816                                                                                                                                           9
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168f-1.fw for module r816                                                                                                                                           9
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8105e-1.fw for module r816                                                                                                                                           9
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168e-3.fw for module r816                                                                                                                                           9
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168e-2.fw for module r816                                                                                                                                           9
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168e-1.fw for module r816                                                                                                                                           9
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168d-2.fw for module r816                                                                                                                                           9
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168d-1.fw for module r816                                                                                                                                           9
dropbear: WARNING: Invalid authorized_keys file, remote unlocking of cryptroot via SSH won't work!
W: Possible missing firmware /lib/firmware/i915/bxt_dmc_ver1_07.bin for module i915
W: Possible missing firmware /lib/firmware/i915/skl_dmc_ver1_27.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_dmc_ver1_04.bin for module i915
W: Possible missing firmware /lib/firmware/i915/cnl_dmc_ver1_07.bin for module i915
W: Possible missing firmware /lib/firmware/i915/glk_dmc_ver1_04.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_39.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver9_29.bin for module i915
W: Possible missing firmware /lib/firmware/i915/skl_guc_ver9_33.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_huc_ver02_00_1810.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_huc_ver01_07_1398.bin for module i915
W: Possible missing firmware /lib/firmware/i915/skl_huc_ver01_07_1398.bin for module i915
Was nun, fehlt noch was, kann ich den Fehler beheben, oder gibts noch ne andere Lösung ?

Grüße,
Newcomer

Benutzeravatar
smutbert
Moderator
Beiträge: 8315
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Encrypt System per SSH entschlüsseln (dropbear) Install geht nicht

Beitrag von smutbert » 17.04.2021 15:11:38

Im anderen Thread (viewtopic.php?f=37&t=180632) haben wir ja bereits herausgefunden, dass die Anleitung nicht ganz aktuell ist.

Die Installation von dropbear hat funktioniert nur die Pfade stimmen, nicht mehr. Der öffentliche Schlüssel müsste nach »/etc/dropbear-initramfs/authorized_keys« statt »/etc/initramfs-tools/root/.ssh/authorized_keys« und das sollte dann auch die Fehlermeldung erklären (und nach der Aktualisierung der initrd mit »update-initramfs -u« beheben).

LinuxNewcomer
Beiträge: 56
Registriert: 22.03.2021 19:42:19

Re: Encrypt System per SSH entschlüsseln (dropbear) Install geht nicht

Beitrag von LinuxNewcomer » 17.04.2021 17:16:21

smutbert hat geschrieben: ↑ zum Beitrag ↑
17.04.2021 15:11:38
Im anderen Thread (viewtopic.php?f=37&t=180632) haben wir ja bereits herausgefunden, dass die Anleitung nicht ganz aktuell ist.

Die Installation von dropbear hat funktioniert nur die Pfade stimmen, nicht mehr. Der öffentliche Schlüssel müsste nach »/etc/dropbear-initramfs/authorized_keys« statt »/etc/initramfs-tools/root/.ssh/authorized_keys« und das sollte dann auch die Fehlermeldung erklären (und nach der Aktualisierung der initrd mit »update-initramfs -u« beheben).
Also muss ich den Schlüssel jetzt selber manuell in das andere Verzeichnis kopieren ? Der sollte

Code: Alles auswählen

/etc/initramfs-tools/root/.ssh/authorized_keys
liegen ? Ich habe dort keinen Ordner mit root oder einen Schlüssel gefunden. Ich habe ja auch noch nichts anderes gemacht ausser install dropbear. Wo kann man denn etwas ändern, das der Schlüssel wo anders generiert wird.

Benutzeravatar
smutbert
Moderator
Beiträge: 8315
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Encrypt System per SSH entschlüsseln (dropbear) Install geht nicht

Beitrag von smutbert » 17.04.2021 20:44:22

Ah ok. Nein, der sollte nicht dort liegen. Nach der veralteten Anleitung solltest du ihn dorthin kopieren, aber jetzt lautet der richtige Pfad eben anders.
Und es ist komplett egal ob du den Schlüssel erst nach oder vor der Installation von dropbear erstellst bzw. dorthin kopierst.

Abgesehen von diesem einen Pfad, sollte die Anleitung soweit ich sie mir durchgelesen haben eigentlich funktionieren. Mit dem korrigierten Pfad sollte die Passage gegen Ende des Abschnitts „Konfiguration“ dann so aussehen
[...]
Damit wir auf den Server zugreifen dürfen, fügen wir (am Server) den am Client erstellten Public-Key zum "Authorized Keys"-File von Dropbear hinzu:

Code: Alles auswählen

lvtest@ubuntu:~$ sudo su
root@ubuntu:/home/lvtest# cat id_rsa_initram.pub >> /etc/dropbear-initramfs/authorized_keys
[...]
(habe jetzt wirklich nur den einen Pfad geändert damit sonst alles mit der Anleitung übereinstimmt)

LinuxNewcomer
Beiträge: 56
Registriert: 22.03.2021 19:42:19

Re: Encrypt System per SSH entschlüsseln (dropbear) Install geht nicht

Beitrag von LinuxNewcomer » 20.04.2021 17:09:51

smutbert hat geschrieben: ↑ zum Beitrag ↑
17.04.2021 20:44:22
Ah ok. Nein, der sollte nicht dort liegen. Nach der veralteten Anleitung solltest du ihn dorthin kopieren, aber jetzt lautet der richtige Pfad eben anders.
Und es ist komplett egal ob du den Schlüssel erst nach oder vor der Installation von dropbear erstellst bzw. dorthin kopierst.

Abgesehen von diesem einen Pfad, sollte die Anleitung soweit ich sie mir durchgelesen haben eigentlich funktionieren. Mit dem korrigierten Pfad sollte die Passage gegen Ende des Abschnitts „Konfiguration“ dann so aussehen
[...]
Damit wir auf den Server zugreifen dürfen, fügen wir (am Server) den am Client erstellten Public-Key zum "Authorized Keys"-File von Dropbear hinzu:

Code: Alles auswählen

lvtest@ubuntu:~$ sudo su
root@ubuntu:/home/lvtest# cat id_rsa_initram.pub >> /etc/dropbear-initramfs/authorized_keys
[...]
(habe jetzt wirklich nur den einen Pfad geändert damit sonst alles mit der Anleitung übereinstimmt)

Ich versteh noch nicht ganz wo ich den Key her bekomme, den ich da kopieren soll. Ich dachte der wird mit von dropbear oder cryptsetup geschrieben. Die Fehlermeldung kommt ja direkt am Anfang, bevor ich überhaupt zu irgendwas komme.

Hab ich das in der Anleitung richtig verstanden, das loggt sich irgendwie automatisch ein, ich muss da die Passphrase nicht eingeben, wegen dem Schlüssel, aber dann kommt doch jeder ran. Dachte ich bekomme einfach nen Terminal gibt dort das pw ein wie sonst auch am Bildschirm und fertig.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Encrypt System per SSH entschlüsseln (dropbear) Install geht nicht

Beitrag von eggy » 20.04.2021 19:29:29

"ssh-keygen", bzw. "ssh-keygen -f ~/schluesselschuessel/key_fuer_server_abc" falls man getrennte Keys pro Maschine bevorzugt.
Die Manpage nennt Details zu weiteren Parametern wie Keytypen und Schlüsselstärke etc.

Benutzeravatar
smutbert
Moderator
Beiträge: 8315
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Encrypt System per SSH entschlüsseln (dropbear) Install geht nicht

Beitrag von smutbert » 21.04.2021 12:09:27

LinuxNewcomer hat geschrieben: ↑ zum Beitrag ↑
20.04.2021 17:09:51
Ich versteh noch nicht ganz wo ich den Key her bekomme, den ich da kopieren soll. Ich dachte der wird mit von dropbear oder cryptsetup geschrieben.
Hier geht es um den ssh-Schlüssel (bzw. das Schlüsselpaar). Den (bzw. das) erzeugst du mit deinem ssh-Client und das auf dem System, von dem aus du den Server beim Booten entsperren willst.

Den privaten Schlüssel kannst du beim Anlegen noch durch eine Passphrase schützen, die du dann eingeben musst, wenn du dich damit anmeldest, aber das hat noch rein gar nichts mit der Passphrase von cryptsetup/luks zu tun.
Den privaten Schlüssel lässt du auf deinem Client (und hältst ihn geheim) und den öffentlichen kopierst du eben auf den Server.

Das ist bei ssh ganz allgemein eine weit verbreitete Alternative zur Authentifizierung mittels Passwort (es würde bestimmt nicht schaden, wenn du dich vorher ein bisschen mit ssh vertraut machst – ganz ohne cryptsetup und dropbear).
LinuxNewcomer hat geschrieben: ↑ zum Beitrag ↑
20.04.2021 17:09:51
Die Fehlermeldung kommt ja direkt am Anfang, bevor ich überhaupt zu irgendwas komme.
Ich würde es nicht einmal als Fehlermeldung sondern mehr als Informations- oder Warnmeldung betrachte.
Die initramfs-Skripte von dropbear wissen ja, dass sie normalerweise dazu verwendet werden beim Booten ein verschlüsseltes Gerät zu entsperren und dass man dabei in aller Regel mittels ssh-Schlüssels authentifiziert und wenn es keinen solchen Schlüssel findet, sagt es eben sicherheitshalber bescheid.
LinuxNewcomer hat geschrieben: ↑ zum Beitrag ↑
20.04.2021 17:09:51
Hab ich das in der Anleitung richtig verstanden, das loggt sich irgendwie automatisch ein, ich muss da die Passphrase nicht eingeben, wegen dem Schlüssel, aber dann kommt doch jeder ran. Dachte ich bekomme einfach nen Terminal gibt dort das pw ein wie sonst auch am Bildschirm und fertig.
Zuerst einmal meldest du dich per ssh, authentifiziert durch deinen Schlüssel an.

Du erhältst dann tatsächlich eine Shell am Server, in der du die Passphrase von cryptsetup/luks eingeben kannst. Der Server erwartet, dass du die Passphrase in die Datei »/lib/cryptsetup/passfifo« schreibst, daher steht der Befehl

Code: Alles auswählen

echo -n "encryptiontest" > /lib/cryptsetup/passfifo
in der Anleitung und eine Alternative bei der man die eingegebene Passphrase am Bildschirm nicht sieht:

Code: Alles auswählen

/lib/cryptsetup/askpass "passphrase: " > /lib/cryptsetup/passfifo
Wenn das funktoiniert, ist es sicherheitstechnisch imho kein Nachteil Teile davon zu automatisieren, zB mit einem Skript, das die Anmeldung per ssh automatisiert und den letzten Befehl startet – du müsstest dann nur, falls vorhanden, die Passphrase des ssh-Schlüssels und natürlich die cryptsetup/luks-Passphrase eingeben.

Antworten