我有以下設定:一個 LUKS 加密 SSD,其上使用 LVM 形成典型的 Linux 分割區(/、/home/ 等)。此設定在啟動時透過密碼解鎖。我正在使用 Debian Jessie。
由於空間不足,我想為 LVM 添加另一個 PV,當然應該在啟動時對其進行 LUKS 加密和解密 - 使用從第一個 PV 派生的金鑰或使用與第一個 PV 相同的密碼。
這意味著LVM(包括/、/home/等)跨越兩個LUKS加密的SSD(當然每個SSD包含一個實際加密的分割區,而不是SSD本身,但我認為這是顯而易見的。)。
由於Systemd 已經集成,似乎不可能在啟動時解鎖這種設置- 所有找到的指令都派生密鑰(或其他),而Systemd 無法再執行這些操作,因為密鑰派生腳本在啟動時不再執行(或指令)只是失敗)。
有人知道這是否以及如何實際工作嗎?
否則我必須更改我的設定以擁有一個單獨的根分割區(在 LVM 之外),以便可以在啟動後安裝其餘部分,或在 lvm 內擁有 luks。但這都是我最後想選擇的選項。
謝謝!
答案1
方法一 我發現,由於 Systemd 是在 *buntu 桌面中實現的,因此它將解鎖所有附加的 LUKS 分區如果
- 您要解鎖的所有分割區都使用相同的密碼
- 第一次輸入正確的根分區密碼。如果輸入錯誤,則需要為每個其他 LUKS 分割區重新輸入
這在 Ubuntu Server 16.04 中對我不起作用
方法2 使用 gnome-disk-utility (GUI) 應用程式...
- 選擇加密的LUKS分割區
- 點擊齒輪按鈕(其他分區選項)
- 編輯加密選項
- 停用自動加密選項
- 啟用啟動時解鎖
- (可選)更改名稱。這將在 /dev/mapper/ 下標記未鎖定的分割區
- 輸入密碼。該實用程式將為您以這種方式設定的每個分割區在 /etc/luks-keys/ 中建立一個金鑰文件
- (可選)手動或使用磁碟實用程式將未鎖定的分割區新增至 fstab
- update-initramfs(不確定是否需要)
- 更新 grub
方法三使用 keyutils。
我沒有測試過這個。從https://www.redpill-linpro.com/techblog/2016/08/12/btrfs-and-encryption.html
- 對兩個加密磁碟區使用相同的密碼。
- 啟動到新安裝的系統:
~# apt-get install keyutils
並將 keyscript=decrypt_keyctl 選項加入到 /etc/crypttab 中列出的兩個加密磁碟區。- 然後發出:
~# update-initramfs -u -k all
更新您的 initramfs 以包含 keyutils。 - 然後重新啟動並檢查輸入的密碼是否已快取並用於解鎖兩個加密磁碟區。