Wie kann man 'dmcrypt luksFormat' nicht interaktiv eine Passphrase geben?

9

Ich schreibe ein Skript, das automatisch virtuelle Maschinen für Testumgebungen einrichtet. Dieses Skript sollte automatisch eine dmcrypt + LUKS-Partition für mich mit einer bestimmten Passphrase formatieren. Da es sich um eine lokale Testumgebung handelt, ist mir die Sicherheit der Passphrase nicht wichtig. Ich möchte lediglich, dass der gesamte VM-Einrichtungsprozess automatisiert und nicht interaktiv ist.

Wie kann ich 'dmcrypt luksFormat' nicht interaktiv eine Passphrase geben? Ich möchte Passphrasen verwenden, keine Schlüssel, da wir in der Produktion Passphrasen auch für LUKS verwenden.

Hongli Lai
quelle

Antworten:

16

Das erste, was Sie tun müssen, ist, den richtigen Befehl aufzurufen: cryptsetupnicht dmcrypt.

cryptsetup luksFormat /dev/vda2

Die zweite Sache ist, dass Sie ein anderes Argument übergeben können, um die Passphrase aus einer Datei oder aus der Standardeingabe (mit -) zu lesen .

echo -n "This isn't a very secure passphrase." | cryptsetup luksFormat /dev/vda2 -

Beachten Sie, dass das -nFlag erforderlich ist echo, um zu verhindern, dass ein Zeilenvorschub an das Kennwort angehängt wird.

cryptsetupWeitere Möglichkeiten zum Übergeben des Schlüsselmaterials finden Sie in der Manpage.

Michael Hampton
quelle
3
Ich hatte einige Schwierigkeiten, mein Volume zu entsperren, nachdem ich es auf diese Weise erstellt hatte. Der Newline-Charakter stolperte über mich. printf "This isn't a very secure passphrase." | cryptsetup luksFormat /dev/vda2 -hat besser für mich gearbeitet. YMMV.
Kenny Rasschaert