Miałem to samo pytanie, oto jak to zrobiłem na Ubuntu 12.04.1 i 12.10,
- przed rozpoczęciem upewnij się, że masz kopię zapasową, a także możesz uruchomić system z Ubuntu CD lub USB; jakbyś popełnił błąd, Twój system może się nie uruchomić lub możesz utracić dane. zakładam, że masz zaszyfrowany system ubuntu z LUKS, wewnątrz LUKS masz 3 partycje, SYSTEM-BOOT (nieszyfrowane), SYSTEM-SWAP (zaszyfrowane) i SYSTEM-OS (zaszyfrowane) -
musisz dostosować UUID, SYSTEM-SWAP_crypt, SYSTEM-OS_crypt, SYSTEM-SWAP, SYSTEM-OS do odmiany używanej w twoim systemie, proszę zobaczyć odnośnik poniżej mojego rozwiązania, aby uzyskać więcej informacji
Uzyskaj UUID:
blkid
Przygotuj>
swapoff /dev/mapper/SYSTEM-SWAP_crypt
cryptsetup luksClose SYSTEM-SWAP_crypt
Powiedz cryptsetup, aby obliczył hasło partycji wymiany z klucza deszyfrującego woluminu zawierającego główny system plików>
/lib/cryptsetup/scripts/decrypt_derived SYSTEM-OS_crypt | cryptsetup luksFormat /dev/mapper/SYSTEM-SWAP --key-file -
/lib/cryptsetup/scripts/decrypt_derived SYSTEM-OS_crypt | cryptsetup luksOpen /dev/mapper/SYSTEM-SWAP SYSTEM-SWAP_crypt --key-file -
mkswap /dev/mapper/SYSTEM-SWAP_crypt
powiedz systemowi o partycji wymiany, edytuj crypttab>
nano /etc/crypttab
=? upewnij się, że dwie linie pasują do siebie
SYSTEM-OS_crypt UUID=uuid-of-luks-containing-osroot none luks
SYSTEM-SWAP_crypt UUID=uuid-of-luks-containing-swap SYSTEM-OS_crypt luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived
powiedz systemowi o partycji wymiany, edytuj fstab>
nano /etc/fstab
=? upewnij się, że masz tę linię
/dev/mapper/SYSTEM-SWAP_crypt swap swap sw 0 0
powiedz systemowi o partycji wymiany, edytuj CV>
nano /etc/initramfs-tools/conf.d/resume
=? upewnij się, że masz tę linię
RESUME=UUID=uuid-of-encrypted-swap-SYSTEM-SWAP_crypt
zaktualizuj initramfs na partycji rozruchowej>
update-initramfs -u -k all
Odniesienie
Odpowiedź zainspirowana konfiguracją zaszyfrowanego systemu Debian (zarchiwizowany link):
Jeśli używasz zaszyfrowanego systemu Debian, prawdopodobnie masz pewne wymagania bezpieczeństwa do spełnienia. W takim przypadku musisz także użyć zaszyfrowanej partycji wymiany.
Partycję wymiany można zaszyfrować na dwa sposoby:
- można go odtworzyć przy każdym uruchomieniu, używając losowego hasła lub
- można go utworzyć podobnie jak inne zaszyfrowane woluminy za pomocą trwałego hasła
Jeśli chcesz użyć funkcji zawieszenia na dysk, nie możesz zastosować pierwszego podejścia, ponieważ zastąpiłoby to ślad pamięci przechowywany na partycji wymiany. Ponadto nie można użyć pliku klucza, podobnie jak innych partycji, ponieważ główny system plików nie jest (i nie musi) montowany do czasu rozpoczęcia procesu wznawiania i musi odczytać odszyfrowaną partycję wymiany.
Rozwiązałem ten problem, mówiąc cryptsetup, aby obliczył hasło partycji wymiany na podstawie klucza deszyfrującego woluminu zawierającego główny system plików; pakiet cryptsetup implementuje to za pomocą /lib/cryptsetup/scripts/decrypt_derived
. Tak więc, aby skonfigurować partycję wymiany, wykonuję następujące czynności, zakładając, że hda2
partycja zawiera zaszyfrowaną wymianę, a główny system plików jest w hda5_crypt
:
swapoff /dev/mapper/hda2_crypt
cryptsetup luksClose hda2_crypt
dd if=/dev/urandom of=/dev/hda2
/lib/cryptsetup/scripts/decrypt_derived hda5_crypt \
| cryptsetup luksFormat /dev/hda2 --key-file -
/lib/cryptsetup/scripts/decrypt_derived hda5_crypt \
| cryptsetup luksOpen /dev/hda2 hda2_crypt --key-file -
mkswap /dev/mapper/hda2_crypt
Aby poinformować system o tej partycji wymiany, musimy dodać ją do
/etc/crypttab
i /etc/fstab
; upewnij się, że te pliki zawierają następujące wiersze:
/etc/crypttab:
hda2_crypt /dev/hda2 hda5_crypt luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived
/etc/fstab:
/dev/mapper/hda2_crypt swap swap sw 0 0
Dzięki temu, gdy tylko skonfigurujesz system do zawieszenia na dysk, partycja wymiany zostanie automatycznie skonfigurowana wraz z głównym systemem plików bardzo wcześnie podczas sekwencji rozruchowej. Aby dowiedzieć się, którą partycję wymiany udostępnić w tym momencie, cryptsetup sprawdza: asfasfafs - linia jak RESUME=/dev/mapper/hda2_crypt
w /etc/initramfs-tools/conf.d/resume
- wznowienie ustawienia urządzenia w /etc/uswsusp.conf
(patrz uswsusp.conf(5)
) - wpis w /etc/suspend.conf
- a resume=/dev/mapper/hda2_crypt
w wierszu poleceń jądra
Możesz sprawdzić, /usr/share/initramfs-tools/hooks/cryptroot
czy chcesz dowiedzieć się więcej na ten temat.