Cryptsetup: 루프백 장치를 연결할 수 없습니다.

Cryptsetup: 루프백 장치를 연결할 수 없습니다.

분리된 헤더를 사용하고 있습니다 cryptsetup. 이를 위해 --header 매개변수를 사용하여 헤더 파일을 지정합니다. 다음을 사용하여 장치를 열 수 있습니다.

cryptsetup luksOpen /dev/sdb1 sdb1 --header LUKS-HEADER

하지만 헤더를 파일이 아닌 다른 명령의 출력으로 제공해야 합니다( cat여기에서는 설명을 위해 명령을 사용함).

cryptsetup luksOpen /dev/sdb1 sdb1 --header <(cat LUKS-HEADER)

그러나 이것은 작동하지 않습니다. 다음 오류가 발생합니다.

Attaching loopback device failed (loop device with autoclear flag is required).

키를 제공하는 데 유사한 접근 방식이 작동하기 때문에 이는 혼란스럽습니다.

cryptsetup luksOpen /dev/sdb1 sdb1 --header LUKS-HEADER --key-file <(printf asdf)

위 명령은 제대로 작동합니다(예제 비밀번호로 "asdf"를 사용했습니다).

--header파이프/다른 프로세스의 옵션에 인수를 제공하는 방법은 무엇입니까 ?

현상금 업데이트:

허용되는 답변은 작동합니다. 즉, 다음을 사용할 수 있습니다.

cat LUKS-HEADER > /dev/ram0
cryptsetup luksDump /dev/ram0

그러나 프로세스 대체를 사용하는 방법에 대한 솔루션이 필요합니다. 현재 프로세스 대체는 작동하지 않습니다.

cryptsetup luksDump <(cat LUKS-HEADER)

오류가 발생합니다.

Attaching loopback device failed (loop device with autoclear flag is required).

답변1

cryptsetup에서는 LUKS 헤더가 일반 파일 또는 장치여야 하는 것 같습니다. 프로세스/스트림의 출력으로 LUKS 헤더를 제공해야 하는 경우 다음으로 보내면 됩니다./dev/ram

cat LUKS-HEADER > /dev/ram0

(커널이 램디스크를 지원하는 경우)

그런 다음 간단히 cryptsetup 명령을 사용할 수 있습니다.

cryptsetup luksOpen /dev/sdb1 sdb1 --header /dev/ram0

LUKS 헤더는 /dev/ram0공간을 확보할 때까지 디스크에 남아 있다는 점을 기억하세요. 메모리를 확보하려면 다음 blockdev명령을 사용할 수 있습니다.

blockdev -v --flushbufs /dev/ram0

답변2

지하실 설정(남성)

Cryptsetup --header옵션이 장치나 파일을 읽고 있기 때문에(비밀번호 설정.c "header", "Device or file with separated LUKS header"), 잠재적인 해결책은 질문을 하는 것일 수 있습니다.여기이 기능에 대해 문의하세요. 또는 파이프에 대한 지원을 추가하기 위해 cryptsetup에 대한 사용자 정의 패치를 작성할 수 있습니다(이 솔루션은 가장 간단하지는 않지만 가장 안정적이며 --header매개변수는 변수에 저장됩니다)opt_header_device 비밀번호 설정.c).

답변3

LUKS 장치만 열 때 "루프백 장치 연결 실패(자동 삭제 플래그가 있는 루프백 장치 필요)" 오류를 수정하려면 를 실행하면 됩니다 sudo modprobe loop.

최신 Linux 커널(5.3.13)에서는 "loop" 모듈이 더 이상 기본적으로 로드되지 않는 것 같습니다.

답변4

나는 당신이 무엇을 하고 있든 <(cat HEADER)실제로 당신이 하고 있다고 생각하는 일을 하고 있지 않다고 생각합니다. 내가 이것을 믿는 이유는 다음과 같습니다.

luksOpen <device> <name> (old syntax)

LUKS 장치 열기device매핑을 설정하고name제공된 비밀번호를 성공적으로 확인한 후. 비밀번호가 제공되지 않은 경우 --key-file다음 명령은대화형 프롬프트.

루프백 장비 사용 시 주의사항

Cryptsetup은 일반적으로 블록 장치에서 직접 사용됩니다.(디스크 파티션 또는 LVM 볼륨). 그러나 장치 매개변수가 파일인 경우 cryptsetup루프백 장치를 할당하고 이를 파일에 매핑하려고 시도합니다. 이 모드에는 Linux 커널 2.6.25 이상이 필요하며 주기적으로 플래그 자동 지우기를 지원합니다.(마지막으로 꺼지면 루핑 장치가 자동으로 지워짐). 물론, 언제든지 파일을 루프 장치에 수동으로 매핑할 수 있습니다.

cryptsetup어떻게든 의도한 것보다 더 많은 인수를 생성하거나 더 적게 생성하는 것 같습니다.장치 매개변수로서문서대신 블록 장치로 사용하므로 루프백을 통해 마운트해 보세요.

관련 정보