搜尋此網誌
磁碟的加密與解密
對磁碟加密流程
開頭先fdisk,切割出欲加密的磁區大小,範例為6
1 cryptsetup luksFormat /dev/vda6 產生金鑰
2 ls -l /etc/crypttab 這是專屬金鑰的開機表就像/etc/fstab一樣,可以寫開機自動掛載
3 cat /etc/crypttab 讀一下裡面的內容
4 echo 'secret /dev/vda6 /root/encdisk' >> /etc/crypttab
格式為 name 加密磁碟 密碼存放路徑
5 cat /etc/crypttab 讀一下裡面的內容,看是否正確
6 ls -l /root/encdisk
7 echo 'testing123' > /root/encdisk 將密碼寫進這個目錄,並產生檔案
8 cat /root/encdisk 讀一下裡面的內容,看是否正確
9 echo -n 'testing123' > /root/encdisk
剛剛輸入的密碼其實後面還會帶個空格,這樣在開機掛載的時候是會出錯的,所以在寫一遍,這裡的-n非常重要
10 cat -A /root/encdisk
11 ll /root/encdisk
12 chmod 600 /root/encdisk -v 將權限改成只有管理者才能讀的到
13 clear
14 ls -l /dev/mapper/secret
剛剛第4行我們的名字取為secret,所以會在/dev/mapper/底下產生一個secret的磁碟,現在是看不到的,因為被加密了
15 cryptsetup luksOpen /dev/vda6 secret 手動開啟加密的secret目錄,會要求輸入密碼
16 ls -l /dev/mapper/secret 這時候ls就看的到加密的磁碟了
17 cryptsetup luksClose secret 可以玩一下,手動關閉加密磁碟
18 ls -l /dev/mapper/secret 這時候ls又看不到加密的磁碟了
19 cryptsetup luksOpen /dev/vda6 secret 因為接下來要做格式化,所以必須先打開
20 ls -l /dev/mapper/secret
21 mkfs.ext4 /dev/mapper/secret 磁碟格式格成ext4
22 ls /test 因為磁碟是需要掛載目錄的,先看看根底下是否有個test目錄
23 mkdir /test 產生test目錄
24 blkid | grep --color secret blikd是可以查出硬碟UUID的號碼,grep針對secret
*這裡要非常注意,如果只輸入blkid的時候會列出所有磁碟的UUID,假設是在針對/dev/sda6
做加密磁碟,這裡的查找不能blkid | grep --color /dev/vda6,因為vda6 跟 secret 的UUID是不樣的 ! ! ! 補充:(在寫進/etc/fstab的格式開頭通常可以以UUID或磁碟機代號,但建議用UUID寫入比較安全,因為如果磁碟機代號因為新稱設備可能會打亂了,開機就會有問題了)
25 echo 'UUID="10114b5d-4959-48ae-a277-123d20eb4273" /test ext4 defaults 1 2' >> /etc/fstab 寫進/etc/fstab 使他開機掛載
26 tail -n 1 /etc/fstab
27 mount -are
28 df -HT /test
29 reboot; df -HT /test
若不甚LAB時無法順利開機,檔案又都被改成唯獨,解決方法如下:
1. df -HT 先查看根掛的磁碟
2. mount -o remount,rw (根掛的磁碟)
3. 再去檢查 /etc/fstab /root/encdisk(密碼是否有空格) /etc/crypttab
加密的磁碟卸載
1 df -HT /test 加密磁碟是掛在/test這個目錄的,先查看一下
2 umount /test 先從目錄上卸載
3 df -HT /test 再觀察一下是否卸載成功
4 cryptsetup luksClose secret
5 ls -l /dev/mapper/secret
6 cryptsetup isLuks /dev/vda6
7 echo $? 判斷上一個指令是否正確,正確為0,不正確會有數字,這裡會得0
8 cryptsetup isLuks /dev/vda3
9 echo $? 這裡會得其他數字,因為vda3並沒有被加密
10 cryptsetup luksDump /dev/vda6
11 cryptsetup luksKillSlot /dev/vda6 0
12 cryptsetup luksDump /dev/vda6
13 cat -Ab /etc/fstab
14 sed -i '19d' /etc/fstab (看/etc/fstab當初寫在第幾行,自己更改裡頭數字來刪除,記得+1)
15 cat /etc/fstab
16 cat /etc/crypttab
17 dd < /dev/null > /etc/crypttab (抹除/etc/crypttab裡的資料)
18 cat /etc/crypttab
19 ll /etc/crypttab
20 ls -l /etc/fstab
21 ls -l /etc/mtab
22 fdisk p d 6 w
22 cat /proc/partitions
36 ls /dev/vda*
37 partx -d /dev/vda 更新磁碟配置
38 cat /proc/partitions
39 ls /dev/vda*