Ich habe einen virtualisierten CentOS 7-Server, der mehrere kennwortgeschützte verschlüsselte Volumes bereitstellen muss. Ich kann die Geräte beim Booten nicht automatisch zuordnen, da ich während des Startvorgangs keinen Zugriff auf die Konsole habe, um das Entschlüsselungskennwort einzugeben. Nach dem Neustart des Systems muss ich manuell ausführen
cryptsetup luksOpen <device> <name>
um jedes zugrunde liegende Blockgerät einem verschlüsselten Gerät zuzuordnen. Dazu müssen Sie die UUID jedes zugrunde liegenden Blockgeräts und den Namen, dem es zugeordnet ist, notieren. Gibt es eine einfache Möglichkeit, diesen Prozess zu automatisieren? Ich kann die Informationen /etc/crypttab
mit dem noauto
Schlüsselwort hinzufügen , um zu verhindern, dass die Geräte beim Booten gemountet werden. Ich kann Cryptsetup jedoch nicht dazu bringen, die Informationen aus dieser Datei zu verwenden.
Es wäre großartig, wenn es einen solchen Befehl cryptsetup luksOpen <name>
gäbe, der lesen würde /etc/crypttab
, um den Namen des zugrunde liegenden Blockgeräts zu finden (ähnlich wie Sie es können, mount <mountpoint>
wenn es in definiert ist /etc/fstab
).
Gibt es eine Möglichkeit, Cryptsetup zum Lesen der Zuordnungen zu erhalten /etc/crypttab
?
quelle
Sie können verwenden
sudo systemctl start systemd-cryptsetup@<name>
anstatt
cryptsetup luksOpen UUID=... <name>
Wenn Sie einen Eintrag wie folgt in Ihrer / etc / crypttab haben:
<name> UUID=... none noauto
Bei Bedarf werden Sie zur Eingabe der Passphrase aufgefordert.
Die entsprechende Einheitendatei wird automatisch vom systemd-cryptsetup-generator generiert .
Sie können alle generierten Einheitendateien mit auflisten
systemctl list-unit-files| grep systemd-cryptsetup
quelle
sudo systemctl daemon-reload
nach der Bearbeitung ausführen/etc/crypttab
, um die Einheiten neu zu generieren.Ich denke du willst damit experimentieren
systemd-cryptsetup-generator
.Normalerweise wird dieser Prozess während des Starts von initramfs ausgeführt, um dynamisch systemd-Einheiten zu generieren , die jedes in aufgelistete Blockgerät entschlüsseln
/etc/crypttab
. Sie können diese Einheiten dann jederzeit starten, und Sie werden aufgefordert, die erforderlichen Passphrasen einzugeben.Da es sich um eine virtuelle Maschine handelt, sollten Sie Zugriff auf die virtuelle Konsole haben. Dies bedeutet, dass Sie Ihre Dateisysteme einfach normal verschlüsseln und die Passphrase beim Booten angeben können. Natürlich wird die Sicherheit der verschlüsselten Dateisysteme ohnehin beeinträchtigt , indem sie einfach in einer virtuellen Maschine verwendet werden, unabhängig davon, wann Sie die Passphrase eingeben.
quelle
Ich habe speziell für diesen Fall ein Bash-Skript erstellt,
das analysiert
crypttab
, um die UUID des Geräts zum Öffnen / Schließen abzurufen, undanschließend
fstab
zum Speichern von Mount-Optionen verwendet wird.Als Konvention mounte ich das verschlüsselte Gerät im Stammordner in einem Verzeichnis, das wie der Geräteknoten benannt,
/dev/mapper
aber groß geschrieben ist.Beispielsweise wird ein
xsnl
in crypttab genanntes Gerät gemountet/Xsnl
.NB: Sie müssen die
noauto
Option in beidenfstab
und verwendencrypttab
.Kern
quelle