建立新的 LUKS 金鑰

建立新的 LUKS 金鑰

我嘗試在系統啟動時自動掛載磁碟。我使用 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_cryptfor 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/

相關內容