코드 22로 인해 Cryptsetup이 실패했습니다. 매개변수가 잘못되었습니다.

코드 22로 인해 Cryptsetup이 실패했습니다. 매개변수가 잘못되었습니다.

여기에 이미지 설명을 입력하세요.

내가 읽고

그리고 시도했다

cryptsetup open --type luks <device> <dmname> --key-file /root/luks.key

여전히 오류 22가 발생합니다.

cryptsetup luksFormat <device> --key-file /root/luks.key -q

출력 명령이 성공했습니다.

여기의 단계를 따르십시오: https://gist.github.com/huyanhvn/1109822a989914ecb730383fa0f9cfad

키 생성

openssl genrsa -out /root/luks.key 4096
chmod 400 /root/luks.key

여기에 이미지 설명을 입력하세요.

$ sudo dmsetup targets
striped          v1.6.1
linear           v1.3.1
error            v1.5.1

편집 1

dm_crypt가 로드되지 않았음을 확인하여 로드했습니다.

$ modprobe dm_crypt

가서 확인해봐

$ lsmod | grep -i dm_mod
$ which cryptsetup

여기에 이미지 설명을 입력하세요.

또한 확인함

$ blkid /dev/data
/dev/data: UUID="xxxxxxxxxxxx" TYPE="crypto_LUKS" 

편집 2

추가 누락 모듈:

modprobe aes_generic
modprobe xts

핵심

$ uname -r
4.9.0-12-amd64

운영 체제는 Debian Stretch입니다.

이는 Azure에서 제공하는 이미지인데, 이와 관련된 패치가 적용되었는지는 잘 모르겠습니다.

답변1

이것은 이름 충돌입니다. /dev/mapper/data이전 테스트로 인해 이미 충돌이 발생했기 때문에 다른 이름으로 테스트해야 했습니다.

cryptsetup open --type luks /dev/data new_name  # 1st time sucess
cryptsetup open --type luks /dev/data new_name  # 2nd time fail

관련 정보