Ich versuche, ein verschlüsseltes Volume gemäß dieser Anleitung einzurichten
Alles ist eingerichtet, aber das Mounten des verschlüsselten Volumes schlägt beim Booten mit dem Fehler fehl:
fsck.ext4: Keine solche Datei oder kein solches Verzeichnis beim Versuch, / dev / mapper / safe_vault zu öffnen. Möglicherweise nicht vorhandenes Gerät?
Das ist mein Setup:
crypttab
$ sudo cat /etc/crypttab
safe_vault /dev/disk/by-uuid/d266ae14-955e-4ee4-9612-326dd09a463b none luks
HINWEIS:
Das uuid
kommt von:
$ sudo blkid /dev/mapper/<my_logical_group>-safe_vault
/dev/mapper/<my_logical_group>-safe_vault: UUID="d266ae14-955e-4ee4-9612-326dd09a463b" TYPE="crypto_LUKS"
fstab
$ sudo cat /etc/fstab | grep safe_vault
/dev/mapper/safe_vault /safe-vault ext4 defaults 0 2
Was ich getan habe...
Also bin ich auf die Website des Entwicklers gegangen und in den FAQ zu allgemeinen Problemen heißt es:
Überprüfen Sie, ob Sie den Geräte-Mapper und das Krypta-Ziel in Ihrem Kernel haben. Die Ausgabe von "dmsetup goals" sollte ein "crypt" -Ziel enthalten. Wenn es nicht vorhanden ist oder der Befehl fehlschlägt, fügen Sie dem Kernel Device Mapper und Crypt-Target hinzu.
Es stellte sich heraus, dass ich kein crypt
Ziel hatte:
$ sudo dmsetup targets
striped v1.4.1
linear v1.1.1
error v1.0.1
Das Problem ist, dass ich nicht weiß, wie ich ein solches Ziel hinzufügen soll.
Ich denke, dies (ohne das crypt
Ziel) kann dazu führen, dass die crypttab
Konfiguration beim Booten ignoriert wird und der Versuch, den Eintrag einzuhängen, fstab
fehlschlägt, da cryptsetup
mein verschlüsseltes Volume nicht zugeordnet wurde /dev/mapper/safe_vault
.
HINWEIS:
Das verschlüsselte Volume kann erfolgreich manuell zugeordnet, gemountet und beschrieben werden:
$ sudo cryptsetup luksOpen /dev/mapper/<my_logical_group>-safe_vault safe_vault
Enter passphrase for /dev/mapper/<my_logical_group>-safe_vault:
$ sudo mount /dev/mapper/safe_vault /safe_vault
So sieht es nach dem Mappen und Mounten aus:
$ sudo lsblk -o name,uuid,mountpoint
NAME UUID MOUNTPOINT
sda
├─sda1 28920b00-58d3-4941-889f-6249357c56ee
├─sda2
└─sda5 uhBLE7-Kcfe-RMi6-wrlX-xgVh-JfAc-PiXmBe
├─<my_logical_group>-root (dm-0) 1bed9027-3cf7-4f8d-abdb-28cf448fb426 /
├─<my_logical_group>-swap_1 (dm-1) a40c16c4-7d0c-46d7-afc8-99ab173c20bb [SWAP]
├─<my_logical_group>-home (dm-2) e458abb7-b263-452d-8670-814fa737f464 /home
├─<my_logical_group>-other (dm-3) 0a1eec42-6534-46e1-8eab-793d6f8e1003 /other
└─<my_logical_group>-safe_vault (dm-4) d266ae14-955e-4ee4-9612-326dd09a463b
└─safe_vault (dm-5) 9bbf9f47-8ad8-43d5-9c4c-dca033ba5925 /safe-vault
sr0
AKTUALISIEREN
- Es stellt sich heraus, dass ich das
crypt
Ziel habe, aber um es zu zeigen, musstedmsetup targets
ich zuerstcryptsetup luksOpen <my-device>
- Ich habe versucht,
UUID
s stattdessen gemäß der Antwort von @Mikhail Morfikov zu verwenden , aber es schlägt beim Booten immer noch fehl.
Ich denke immer noch, dass das Problem darin besteht, dass das verschlüsselte Volume cryptsetup luksOpen
beim Booten nicht zugeordnet (geöffnet ) wird, also nicht /dev/mapper/<safe_vault or UUID>
vorhanden ist und der Versuch, es zu mounten (fstab), fehlschlägt.
UPDATE 2
Es stellte sich heraus, dass ich nicht die erforderlichen Skripte hatte, um sie beim Booten bereitzustellen. Siehe den Hinweis in der Antwort von @ MikhailMorfikov.
quelle
luksOpen
? Ich würde erwarten, dass luksOpen auch scheitern würde, wenn es nicht da wäre.sudo cryptsetup luksOpen
zwei neuen Zielen erscheinen fürsudo dmsetup targets
:error
undcrypt
. Ich denke, ich muss die Frage dann ändern .../dev/mapper/<my-logical-volume>-safe_vault
ist ein mit LVM erstelltes logisches Volume und/dev/mapper/safe_vault
das Gerät, dem es durch Ausführen zugeordnet wirdcryptsetup luksOpen /dev/mapper/<my-logical-volume>-safe_vault
. Wissen Sie, ob escrypttab
mit LVM-Volumes funktioniert?/boot
). Alles problemlos beim Booten montiert. Sind Sie sicher, dass Sieinitramfs
nach der Bearbeitung aktualisiert haben/etc/crypttab
? Können Sie die Ausgabe vonlsblk -o name,uuid,mountpoint
anzeigen, wenn alles bereitgestellt ist und wie es funktionieren sollte?Antworten:
Sie müssen auf UUIDs achten. Zum Beispiel ist dies meine Konfiguration:
Ich habe eine verschlüsselte Partition (sda2) mit 4 Volumes (LVM). Was ich brauche, ist es, zwei UUIDs in den richtigen Dateien festzulegen. Die sda2-UUID geht an
/etc/crypttab
und die Volume-UUID (zum Beispiel debian_crypt-root) geht an/etc/fstab
.Also wäre es:
Nach dem Ändern der
/etc/crypttab
Datei müssen Sie initramfs neu erstellen:HINWEIS
Das Paket
cryptsetup
muss installiert werden, da es Startskripts enthält, die die automatische Bereitstellung verschlüsselter Volumes beim Start unterstützen.Warum sollte man das erwähnen? Nun, wenn Sie Setup LVM während der Installation von Debian Wheezy installiert Pakete cryptsetup-sind ,
libcryptsetup4
undlvm2
aber nichtcryptsetup
, so haben Sie die Werkzeuge zum Einrichten von LVM und LUKS - Geräten aber nicht die Skripte notwendig LUKS - Geräte beim Booten zu montieren. Die kommen im Paket cryptsetup .quelle
UUID
aber ich bekomme den gleichen Fehler. Ich werde die Frage mit Details aktualisieren.Es scheint, dass @Mikhail Morfikovs Antwort das Montieren während der initramfs- Phase abdeckt . Eine Alternative (wenn es sich nicht um das Root-Dateisystem handelt) besteht darin, die Partition automatisch über systemd zu entschlüsseln und bereitzustellen, nachdem der linuz-Kernel geladen wurde. Dies ist natürlich nur möglich, wenn Sie systemd ausführen . Ich werde die Methode hier erklären:
Der
/etc/crypttab
Eintrag:Hier
noauto
ist eine Anweisung , die Festplatte während der initramfs- Phase nicht zu entschlüsseln .e412-blahblah
Ist oben die UUID der Partition, die das luks-System enthält, in meinem Fall eine Partition/dev/sdb2
:Während des Startvorgangs des Linux-Kernels liest systemd die
/etc/crypttab
Datei und erstellt eine Laufzeitdienstdatei/run/systemd/generator/[email protected]
. Dieser Dienst wird jedoch nicht automatisch ausgeführt. Sie können es manuell ausführenZum Entschlüsseln und anschließenden Mounten während des Startvorgangs ist
/etc/fstab
möglicherweise Folgendes erforderlich :Hier
x-systemd.automount
ist eine Anweisung an systemd zum Mounten/media/crypt-data
und[email protected]
eine Anweisung an systemd , deren Entschlüsselungcrypt2
erforderlich ist, bevor dies möglich ist.Im Systemd wird das Verzeichnis erst beim ersten Zugriff
ls /media/crypt-data
gemountet, dh es wird just-in-time gemountet und erscheint danach in/proc/mounts
.verbunden
Möglicherweise fragen Sie "* warum haben Sie eine verschlüsselte Datenfestplatte mit dem Schlüssel im Root-Dateisystem?". Dies liegt daran, dass das Root-Dateisystem ebenfalls verschlüsselt ist, sodass der Schlüssel sicher ist. Das Root-Dateisystem wird während der initramfs- Boot-Phase entschlüsselt , die Antwort von a la Mikhail. Ich habe einen anderen Eintrag in der
/etc/crypttab
Datei dafür:und ich beschreibe das einrichten und einen boot usb hier
quelle