1

我正在以编程方式调用 cryptsetup 并希望在命令行(不是交互式)按需传递密钥文件。

如何使用 cryptsetup 和 luks 在命令行中获取密钥文件?

4

1 回答 1

1

您需要创建一个密钥文件:

dd if=/dev/random bs=32 count=1 of=/root/random_data_keyfile1
printf "YOUR PASSPHRASE" >/root/plaintext_passphrase_keyfile2

使文件只读到root:

sudo chmod 0400 /root/random_data_keyfile1

将密钥添加到 LUKS:

cryptsetup luksAddKey /dev/sdX /root/random_data_keyfile1

您必须在“/etc/crypttab”中添加一个条目:

echo "luks-$(cryptsetup luksUUID /dev/sdX) UUID=$(cryptsetup luksUUID /dev/sdX) /root/random_data_keyfile1" >>/etc/crypttab

重新启动以确保设备自动解锁。确保您拥有正确的设备 ID。

参考:https ://access.redhat.com/solutions/1121163

于 2017-10-02T18:13:35.403 回答