加密你的隨身碟 - Cryptsetup

說明

如果你想對某個 USB隨身碟內的資料做加密保護,每次掛載前必須先輸入一組密碼。

開始加密

安裝套件

sudo apt install cryptsetup

插入要加密的隨身碟,並完成掛載,假設為 /dev/sdb。使用 GParted 工具建立一個新磁區 /dev/sdb1,格式為 ext4。拔除隨身碟後再重新插入,如果隨身碟自動被掛載,先以手動方式將它卸載確定隨身碟在沒有被掛載模式下,執行

sudo cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb1

詢問是否確定時,必須輸入 大寫 YES。
接著需設定一組密碼。

開啟加密磁區,與格式化

  • 開啟加密磁區時,必須輸入正確的密碼。
  • 加密磁區成功被開啟後,會產生一個新磁碟路徑 /dev/mapper/<input-name>
sudo cryptsetup luksOpen /dev/sdb1 sdb1
sudo fdisk -l
sudo mkfs.ext4 /dev/mapper/sdb1
sudo tune2fs -m 0 /dev/mapper/sdb1

如果想對加密磁區加上標籤

sudo e2label /dev/mapper/sdb1 MyCCWallet

到這裡,已經完成加密程序。測試手動掛載,並嘗試寫入資料。

sudo mkdir /mnt/encrypted
sudo mount /dev/mapper/sdb1 /mnt/encrypted
sudo touch /mnt/encrypted/test.txt

測試沒問題後,就可以將加密磁區關閉。

sudo umount /dev/mapper/sdb1
sudo cryptsetup luksClose sdb1
Linux Mint 桌面測試

隨身碟在經過加密後,當每次插上 Linux Mint 電腦時,桌面會自動詢問解鎖密碼,在輸入正確密碼後,就可以像一般方式那樣直接存取隨身碟裡的檔案。

ask_password.png

Optional: 其他指令

How to find and verify which Luks slot a passphrase is in on Linux

# Do not activate device, just check
sudo cryptsetup --verbose open --test-passphrase /dev/vda3

Enter passphrase for /dev/vda3: 
Key slot 0 unlocked.
Command successful.
Learning Cryptsetup