我嘗試在系統啟動時自動掛載磁碟。我使用 crypttab 和密碼以明文形式保存在檔案中。
我的配置:
sda3_crypt UUID=my_id none luks,discard
wd_01 UUID=my_id /luks-keys/wd1 luks,timeout=180
wd-crypt UUID=my_id /luks-keys/wd1
sda3_crypt --> 主系統
wd_01 --> 我想掛載的磁碟
wd-crypt --> luks 分割區我想掛載
系統啟動後輸入主密碼系統啟動但不加密 wd_01。
當我將掛載點新增到 fstab 時,它發生了變化。啟動時,我輸入主密碼,系統啟動啟動,然後要求 wd_01 輸入第二個密碼,並忽略我將他的密碼放入 crypttab 中的 /root/luks-keys/wd1 的事實:/
lsblk:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 111.8G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 954M 0 part /boot
└─sda3 8:3 0 110.4G 0 part
└─sda3_crypt 253:0 0 110.4G 0 crypt
├─main-swap 253:1 0 7.5G 0 lvm [SWAP]
└─main-system 253:2 0 102.9G 0 lvm /
sdb 8:16 0 1.8T 0 disk
└─sdb-crypt 253:4 0 1.8T 0 crypt /srv/dev-disk-by-label-wd01
sdc 8:32 0 1.8T 0 disk
└─seagate_01 253:3 0 1.8T 0 crypt /srv/dev-disk-by-label-seagate01
wd_01 是我的 sdb,wd-crypt 是我的 sdb-crypt
答案1
首先是安全說明,您需要保護具有 LUKS 密碼或金鑰的檔案。這可能意味著為作業系統根分割區使用加密分割區。如果您不保護該文件,加密對您沒有多大幫助。
下面,替換/dev/device-and-part
為您的分割區(IE sda3
)。
考慮備份您的資料或說明中修改的任何文件。如果您犯了錯誤,可能會遺失資料或使您的系統無法運作。
建立新的 LUKS 金鑰
從隨機資料建立金鑰,確保只有 root 使用者有權存取:
sudo mkdir /etc/luks-keys/
sudo dd if=/dev/urandom of=/etc/luks-keys/name-of-key bs=512 count=8 iflag=fullblock
sudo chown root.root /etc/luks-keys/name-of-key
sudo chmod 400 /etc/luks-keys/name-of-key
現在將金鑰與分割區相關聯,您需要在提示字元下鍵入現有密碼:
sudo cryptsetup -v luksAddKey /dev/device-and-part /etc/luks-keys/name-of-key
驗證是否有效,測試密鑰檔:
sudo cryptsetup open -v --test-passphrase /dev/device-and-part --key-file /etc/luks-keys/name-of-key
現在您可以使用密鑰檔案的密碼解鎖加密分割區。
解鎖並掛載
找出您的分割區的 UUID。這個唯一的 ID 用於在啟動時識別分區。
sudo cryptsetup luksDump /dev/device-and-part | grep "UUID"
在我寫 UUID_HERE 的地方使用該值。為您安裝的磁碟區選擇名稱,例如sda3_crypt
for sda3
。我將name_crypt
在說明中使用。
echo "name_crypt UUID=UUID_HERE /etc/luks-keys/name-of-key luks" | sudo tee -a /etc/crypttab
使用以下命令檢查您的配置:
sudo cryptdisks_start name_crypt
新增至 fstab 以自動掛載:
echo "/dev/mapper/name_crypt /media/path/to/mount ext4 defaults 0 2" | sudo tee -a /etc/fstab
筆記
了解這些命令中的每一個都是值得的,這樣您就可以調試發現的任何問題。man dd
man cryptsetup
man fstab
可以在這裡幫助你。我在 Debian 11 上運行了這些說明,相同或類似的方法應該適用於舊/新的 Debian 版本、Ubuntu 或類似的作業系統。
答案2
好的,我找到答案:我需要添加 sudo cryptsetup -v luksAddKey
答:https://blog.tinned-software.net/automount-a-luks-encrypted-volume-on-system-start/