
我在用著開放SUSE並希望使用全碟加密和帶有金鑰檔案的 USB 裝置來解密系統。我的整個系統都是用同樣的方式加密的路克容器(包括/boot
)。由於/boot
是加密的,grub2 要求輸入密碼才能解密。一旦我向 grub 提供密碼, initrd 就能夠使用 keyfile 解密系統/dev/disk/by-partlabel/key
,但 grub 仍然需要密碼才能進入 initrd 階段。
如何設定 grub2 使用該金鑰檔案以便不需要密碼?這台電腦將透過 ssh 訪問,並且鍵盤和顯示器將不可用。如果需要,我可以將密鑰檔案放入正確的檔案系統中,而不是使用密鑰分區。
我需要/boot
與系統的其餘部分一起加密,以便它可以與 btrfs 檔案系統的其餘部分一起進行快照,並且整個作業系統(包括核心)可以在發生任何損壞時恢復到工作狀態。
答案1
據我所知,該功能尚未正式推出。
Grub cryptomount 指令可以掛載 LUKS 磁碟區。此擴充功能透過支援分離標頭和密鑰檔案增強了該功能以及新增對普通 DMCrypt 磁碟區的支援。
這使得從 LUKS 和 DMCrypt 磁碟區啟動成為可能。 LUKS 標頭可以分離並儲存在單獨的裝置上,例如可移動 USB 金鑰。密鑰檔案可以以類似的方式儲存並使用,而不是互動式密碼短語輸入。
此擴充功能還新增了以下功能:
- 允許指定帶或不帶嵌入連字符的加密卷 UUID。
- 在使用給定密碼或金鑰檔案解鎖 LUKS 磁碟區失敗後,為使用者提供第二次輸入密碼的機會。
[...]
給出如何將補丁套用到上游的說明。最好將提到的 7 個補丁整合到 SuSe .src.rpm 並重建套件(及其暗示的所有內容:建置工具、來源依賴項...),但這超出了本答案的範圍。
注意事項:
- 我沒有測試過。
- 2018 年,一些工作似乎已經停止叉子是最近的。
- 局限性:
無自動配置
此擴充功能不會以任何方式改變 Grub 的自動配置(例如 grub-mkconfig)。使用擴充選項將需要手動設定grub.cfg。