Grub2

Grub2/LUKS 如何避免輸入兩次密碼?

  • August 2, 2019

我使用的是最新的 OpenSUSE Tumbleweed,但本指南對我不起作用。

除了沒有生成新的隨機密鑰並將其添加到硬碟而是使用了我一直使用的密碼並將其寫入/.root.key.

但是我仍然被要求輸入密碼,但似乎 cryptsetup 或任何足夠聰明的東西可以自動嘗試為我所有其他也使用與 SSD 相同密碼的 HDD。所以我必須為 Grub 輸入它,然後在啟動過程中再次要求我再次解鎖 SSD。

如何查看是否/.root.key已添加到 initramfs?

除了沒有生成新的隨機密鑰並將其添加到硬碟,而是使用了我一直使用的密碼並將其寫入文件之外,我按照指南中的方式進行了所有操作。

文件中的密碼可以正常工作,但最後不能 有換行符

驗證它是否適用於--key-file選項:

cryptsetup open --verbose --key-file yourfile --test-passphrase /dev/yourdevice

如何查看是否/.root.key已添加到 initramfs?

使用,之一lsinitrd,或者自己解壓。lsinitramfs``lsinitcpio

mkdir /tmp/initramfs
cd /tmp/initramfs
gunzip < /boot/initrd.gz | cpio -div -H newc --no-absolute-filenames

如果不是 gzip 壓縮而是 xz 或其他東西,則此命令可能會有所不同。適應你認為合適的。

或者,如果 initrd 讓您進入緊急外殼,您當然也可以使用它來探索 initrd 狀態。

ls -al
hexdump -C .root.key # or similar

似乎 cryptsetup 或任何足夠聰明的東西可以自動為我所有其他也使用與 SSD 相同密碼的 HDD 嘗試它

這是一個 systemd 功能,systemd-ask-password –accept-cached接受記憶體的密碼,即先前輸入的密碼)。也許它也進入了其他風格的 initramfs。這是一個很好的解決方案,輸入兩次密碼還是可以接受的,連續輸入 10 次…

並非所有發行版都使用此功能,我不知道它是否與您指南中概述的密鑰文件方法配合使用。你必須自己調試。

引用自:https://unix.stackexchange.com/questions/533233