Hallo lolcube,
ist alles nicht so schwer, im (englischen) Wiki steht es sehr ausführlich beschrieben. Sollte eigentlich ausreichend sein.
Sollte man ja eigentlich nicht,
Aber dann will ich mal Deine Arbeit machen: ;-)
1. Hat man ein LUKS-Verschlüsseltes System, so ist es mühsam immer beim Start
den Schlüssel eingeben zu müssen.
Es gibt aber die Möglichkeit diesen unentdeckt auf einem USBstick zu
speichern. Das Vorgehen ist wie folgt:
2. root werden, Konsole öffnen und Journal im Onlinemodus starten:
# journalctl -f
3. USBstick einstecken und Gerätenamen herausfinden, z.B. sdb1
4. Jetzt kann man sich mit Hilfe von udevinfo und grep die Serienenummer
anzeigen lassen.
# udevadm info -a -p `udevadm info -q path -n /dev/sdc` | grep ATTRS{serial}
Die Ausgabe sollte etwa so aussehen:
ATTRS{serial}=="23CD0001000A96"
ATTRS{serial}=="0000:00:03.1"
Die gesuchte Nummer ist also die Erste.
5. Jetzt kann man sich eine eigene udev-Regel erstellen. Dazu legt man am besten
eine neue Datei unter /etc/udev/rules.d/ an.
(Hinweis: udev arbeitet die Dateien in alphabetischer Reihenfolge ab).
Die Datei könnte man z.B. 99-myusb.rules nennen.
In die Datei trägt man nun folgendes ein:
SUBSYSTEMS=="usb", ATTRS{serial}=="23CD0001000A96", KERNEL=="sd*", SYMLINK+="usbstick%n"
6. Jetzt müssen die udev-Regeln neu geladen werden:
# udevadm control --reload-rules
7. Udev sollte jetzt beim einstöpseln (vorausgesetzt der Stick enthält eine
Partition) zwei Symlinks, die auf das "reale" Device zeigen, in /dev erstellen.
usbstick für den Stick ansich und usbstick1 für die (erste) Partition.
Ab jetzt kann über diese Links auf den Stick zugegriffen werden. Enthält der Stick
mehr als eine Partition wird für jede ein eigener Link mit der Partitionsnummer
angelegt. Wie bei einer Festplatte auch.
zum Beispiel:
/dev/usbstick
/dev/usbstick1
8. Ist der USBstick soweit vorbereitet, mountet man ihn und erstellt auf diesem
einen Schlüssel aus Zufallszahlen:
# mount /dev/usbstick1 /mnt/usbstick
# dd if=/dev/urandom of=/mnt/usbstick/archkey bs=512 count=4
9. Den Schlüssel auf den Stick schreiben:
ACHTUNG! Auf den Stick als Gerät, NICHT in die Partition usbstick1 !!
# dd if=/mnt/usbstick/archkey of=/dev/usbstick bs=512 seek=4
10. Jetzt kann das Keyfile zu den Schlüsseln für die root Partition (hier /dev/sda2)
hinzugefügt werden. Das alte LUKS Passwort sollte man nicht löschen.
Falls das Keyfile mal verloren geht, oder das Entschlüsseln per USB-Stick nicht
auf Anhieb funktioniert, kommt man immer noch ins System.
# cryptsetup luksAddKey /dev/sda2 /mnt/usb-stick/archkey
11. Nun ändert man die Bootzeile von Grub entsprechen ab:
GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=/dev/sda2:main:allow-discards cryptkey=/dev/sdc:2048:2048 lang=de locale=de_DE.UTF-8 root=/dev/mapper/main-root resume=/dev/mapper/main-swap rw quiet"
11.1. HINWEIS:
Bei manchen Rechnern funktioniert 'cryptkey=/dev/usbstick' nicht!
Stattdessen muss man den ersten freien Gerätenamen wählen, meist '/dev/sdb'.
'cryptkey=/dev/sdb:2048:2048'
12. Anschließend wird die grub.cfg neu geschrieben:
# grub-mkconfig -o /boot/grub/grub.cfg
13. Ein Neustart sollte zeigen, das alles funktioniert.
14. Wenn das geklappt hat kann das (Klartext-) Keyfile vom Stick gelöscht werden:
# shred --remove --zero /mnt/usb-stick/archkey
Sollte diese
Schritt für Schritt Anleitung nicht reichen, weiß ich auch nicht weiter ...
Gruss ... Schlummi
PS: Ich hatte heute meinen kreativen Tag :-)