새로운 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 비밀번호나 키가 있는 파일을 보호해야 합니다. 이는 아마도 OS 루트 파티션에 암호화된 파티션을 사용한다는 의미일 것입니다. 해당 파일을 보호하지 않으면 암호화가 큰 도움이 되지 않습니다.

아래에서는 /dev/device-and-part파티션(IE sda3)으로 대체하세요.

데이터나 지침에서 수정된 파일을 백업해 보세요. 실수를 하면 데이터가 손실되거나 시스템이 작동하지 않게 될 수 있습니다.

새로운 LUKS 키 생성

무작위 데이터에서 키를 생성하고 루트 사용자만 액세스할 수 있도록 합니다.

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 또는 유사한 OS에서도 동일하거나 유사한 접근 방식이 작동합니다.

답변2

알겠습니다. 답변을 찾았습니다. sudo cryptsetup -v luksAddKey를 추가해야 합니다.

답변:https://blog.tinned-software.net/automount-a-luks-encrypted-volume-on-system-start/

관련 정보