Orico 케이스 내부의 HDD 드라이브에 USB를 통해 Raspberry Pi가 연결되어 있고 별도의 전원 공급 장치가 있습니다. 다음 명령을 사용하여 드라이브를 암호화했습니다.
cryptsetup luksFormat /dev/sda
그런 다음 다음 명령을 사용하여 키 파일을 만들었습니다.
dd if=/dev/random bs=32 count=1 of=/home/ubuntu/luks/luks.key
다음 명령을 사용하여 이 파일을 두 번째 키로 추가합니다.
cryptsetup luksAddKey /dev/sda /home/ubuntu/luks/luks.key
다음 행을 다음에 추가하십시오 /etc/crypttab
.
vault /dev/sda none
시스템 시작 중에 드라이브의 암호가 자동으로 해독되도록 할 수 있는 모든 조치를 취했다고 생각했지만 그런 일은 일어나지 않았습니다. 재부팅할 때마다 수동으로 이 작업을 수행해야 합니다. 나를 괴롭히는 또 다른 것은 출력입니다 cryptsetup luksDump /dev/sda
. 두 개의 슬롯이 "활성화"될 것으로 예상하지만 출력에는 표시되지 않습니다.
ubuntu@ubuntu:~$ sudo cryptsetup luksDump /dev/sda
sudo: unable to resolve host ubuntu: Temporary failure in name resolution
LUKS header information
Version: 2
Epoch: 4
Metadata area: 16384 [bytes]
Keyslots area: 16744448 [bytes]
UUID: ab24c6e5-9286-4e6d-a874-29755338afa1
Label: (no label)
Subsystem: (no subsystem)
Flags: (no flags)
Data segments:
0: crypt
offset: 16777216 [bytes]
length: (whole device)
cipher: aes-xts-plain64
sector: 512 [bytes]
Keyslots:
0: luks2
Key: 512 bits
Priority: normal
Cipher: aes-xts-plain64
Cipher key: 512 bits
PBKDF: argon2i
Time cost: 4
Memory: 270573
Threads: 4
Salt: b8 50 50 6c b2 54 45 ea 36 45 66 1d 61 d1 e9 94
87 7c 67 d3 a8 f3 3b 54 04 b6 46 7b 25 0d d2 89
AF stripes: 4000
AF hash: sha256
Area offset:32768 [bytes]
Area length:258048 [bytes]
Digest ID: 0
1: luks2
Key: 512 bits
Priority: normal
Cipher: aes-xts-plain64
Cipher key: 512 bits
PBKDF: argon2i
Time cost: 4
Memory: 268825
Threads: 4
Salt: 55 e6 be a8 55 45 61 3c 1b 6e 6d 7a b3 70 40 32
fc 4f 95 71 f0 13 52 c7 a1 69 cb 73 66 0b a9 6f
AF stripes: 4000
AF hash: sha256
Area offset:290816 [bytes]
Area length:258048 [bytes]
Digest ID: 0
Tokens:
Digests:
0: pbkdf2
Hash: sha256
Iterations: 39527
Salt: 62 9b 83 b6 04 f3 b0 aa 36 21 bc bf 28 aa 1d 3c
ad 89 8a 5c 0d 7a d2 f4 0f 6e d4 09 b2 33 0b d4
Digest: 45 42 fc 30 22 95 12 26 3f 78 8c 56 d7 b0 c3 d9
10 4e 32 99 93 3c 10 48 a3 df ab 89 77 89 14 1f
이 문제가 USB 드라이브로 연결된 HDD와 관련이 있을 수 있다고 생각하시나요? 앞에서 언급했듯이 이 LUKS 볼륨을 수동으로 열면 문제가 없습니다. 이 문제를 디버깅하도록 도와주세요.
답변1
에 키 파일을 지정해야 합니다 /etc/crypttab
. 여기에 넣으면 none
"비밀번호 요청"으로 해석됩니다.
에서 man crypttab
:
세 번째 필드는 암호화 비밀번호를 지정합니다. 이 필드가 존재하지 않거나 비밀번호가 "none" 또는 "-"로 설정된 경우 시스템 부팅 중에 비밀번호를 수동으로 입력해야 합니다. 그렇지 않으면 이 필드는 암호화된 비밀번호가 포함된 파일의 절대 경로로 해석됩니다.
이는 luksAddKey
LUKS 장치에 새로운 비밀번호 없는 키슬롯을 추가하거나, 새 비밀번호로 보호되는 새 키슬롯을 추가하거나, 파일에서 읽은 비밀번호를 추가한다는 의미는 아닙니다. 구문 /home/ubuntu/luks/luks.key
- 이것은 키/dm이 아닙니다. LUKS에서 사용하는 crypt는 LUKS 장치를 잠금 해제/열기 위해 필요한 "바이너리 비밀번호"일 뿐입니다.
crypttab 항목을 다음으로 변경하십시오.
vault /dev/sda /home/ubuntu/luks/luks.key
그러면 문제가 해결될 것입니다.
출력은 luksDump
양호합니다. LUKS 버전 2로 변경되어 더 이상 라인을 인쇄하지 않습니다 Key Slot X: ENABLED/DISABLED
(LUKS 2의 경우 LUKS 1에 대해 계속 인쇄함).