我以编程方式调用cryptsetup,并希望在命令行上按需传递密钥文件(不是以交互方式)。
如何使用cryptsetup和luks在命令行中接收密钥文件?
答案 0 :(得分: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。