방금 몇 가지 프로젝트를 시도하고 Linux에 대한 이해를 높이기 위해 Debian 시스템을 설정했지만 설치 직후 cryptsetup 문제가 발생했습니다. 나는 Debian 9의 그래픽 설치 프로그램을 사용하고 내장된 암호화 도구를 사용하여 논리 볼륨으로 설정한 /home 및 스왑 공간을 암호화했습니다.
파티션을 설정한 후 어리석게 Caps Lock 키를 켠 후 각 드라이브의 암호화 비밀번호를 변경하려고 했습니다.
cryptsetup luksChangeKey를 사용하여 이 작업을 간단히 수행하고 싶습니다. 그러나 cryptsetup(루트로 실행)을 사용하여 장치/컨테이너에 액세스하려고 할 때마다 오류가 발생하는 것 같습니다.
<device> is not a valid LUKS device.
아래에서 lsblk, ls /dev/mapper 및 cryptsetup의 출력을 찾으십시오. 이를 통해 설정 방법과 어떤 문제가 있는지에 대한 좋은 아이디어를 얻을 수 있기를 바랍니다.
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 111.8G 0 disk
├─sda1 8:1 0 953M 0 part /boot/efi
├─sda2 8:2 0 477M 0 part /boot
└─sda3 8:3 0 110.4G 0 part
├─SSD1_LVM-LV_ROOT 254:0 0 7.5G 0 lvm /
├─SSD1_LVM-LV_VAR 254:1 0 14.9G 0 lvm /var
├─SSD1_LVM-LV_TMP 254:2 0 7.5G 0 lvm /tmp
├─SSD1_LVM-LV_USR 254:3 0 29.8G 0 lvm /usr
├─SSD1_LVM-LV_HOME 254:4 0 7.5G 0 lvm
│ └─SSD1_LVM-LV_HOME_crypt 254:8 0 7.5G 0 crypt /home
├─SSD1_LVM-LV_OPT 254:5 0 14.9G 0 lvm /opt
└─SSD1_LVM-LV_SWAP 254:6 0 15.9G 0 lvm
└─SSD1_LVM-LV_SWAP_crypt 254:7 0 15.9G 0 crypt
ls -l /dev/mapper
total 0
crw------- 1 root root 10, 236 Sep 27 09:35 control
lrwxrwxrwx 1 root root 7 Sep 27 09:36 SSD1_LVM-LV_HOME -> ../dm-4
lrwxrwxrwx 1 root root 7 Sep 27 09:36 SSD1_LVM-LV_HOME_crypt -> ../dm-8
lrwxrwxrwx 1 root root 7 Sep 27 09:35 SSD1_LVM-LV_OPT -> ../dm-5
lrwxrwxrwx 1 root root 7 Sep 27 09:35 SSD1_LVM-LV_ROOT -> ../dm-0
lrwxrwxrwx 1 root root 7 Sep 27 09:35 SSD1_LVM-LV_SWAP -> ../dm-6
lrwxrwxrwx 1 root root 7 Sep 27 15:50 SSD1_LVM-LV_SWAP_crypt -> ../dm-7
lrwxrwxrwx 1 root root 7 Sep 27 09:35 SSD1_LVM-LV_TMP -> ../dm-2
lrwxrwxrwx 1 root root 7 Sep 27 09:35 SSD1_LVM-LV_USR -> ../dm-3
lrwxrwxrwx 1 root root 7 Sep 27 09:35 SSD1_LVM-LV_VAR -> ../dm-1
cryptsetup status /dev/dm-7
/dev/dm-7 is active.
type: LUKS1
cipher: aes-xts-plain64
keysize: 512 bits
device: /dev/mapper/SSD1_LVM-LV_SWAP
offset: 4096 sectors
size: 33198080 sectors
mode: read/write
cryptsetup luksAddKey /dev/dm-7
Device /dev/dm-7 is not a valid LUKS device.
문제가 발생할 경우를 대비해 디스크 스왑 공간을 비활성화하기 위해 swapoff를 사용했지만 불행히도 도움이 되지 않았습니다.
답변1
cryptsetup
LUKS 헤더(헤더를 수정하는 데 사용되는 작업, 즉 형식, 키 관리, 덤프 등)를 보유하는 장치에서 실행 해야 합니다 .
귀하의 경우에는 다음과 같습니다/dev/mapper/SSD1_LVM-LV_SWAP
/dev/mapper/SSD1_LVM-LV_SWAP_crypt
하지만 스왑 LV(crypto)에서 실행하려고 하고 있으며 아마도 스왑 헤더(mkswap)가 LUKS 헤더(luks 내의 luks가 됨...) 대신 저장되었을 것입니다.