Systemd: USB에서 LUKS 비밀번호를 로드한 다음 키보드로 돌아가는 방법은 무엇입니까?

Systemd: USB에서 LUKS 비밀번호를 로드한 다음 키보드로 돌아가는 방법은 무엇입니까?

USB 드라이브를 사용하거나 키보드에서 비밀번호를 입력하여 디스크 잠금을 해제할 수 있는 기능을 갖춘 전체 디스크 암호화 기능을 갖춘 헤드리스 GNU/Linux(Ubuntu 20.04) PC를 ​​설정하고 싶습니다. 내 출발점은 설치 프로그램의 기본 전체 디스크 암호화 옵션을 사용하여 새로 설치하는 것이었습니다. 이 옵션은 /boot를 제외한 모든 것을 LUKS 암호화 논리 볼륨 그룹으로 관리하고 키보드 옵션을 제공했습니다.

디스크 잠금을 해제하기 위한 비밀번호가 포함된 작은 USB 스틱이 있다면 이상적일 것입니다. 이는 서버에 편리할 뿐만 아니라(USB 스틱을 서버에 그대로 둘 수 있습니다. 목표는 기밀 데이터에 대해 걱정할 필요 없이 손상된 하드 드라이브를 반환할 수 있는 것임) 제 노트북에도 매우 유용합니다. 부팅 시 USB 스틱을 제거하고, 암호화된 디스크를 잠금 해제하고 제거하세요. USB 디스크가 손상된 경우 키보드를 사용하세요.

실행 중인 시스템에서 작동하는 방식으로 이를 수행하려면 어떻게 해야 합니까 systemd?

(이 질문이 익숙해 보인다면 그 이유는 다음과 같습니다.https://stackoverflow.com/a/23451824/363028- 문제가 해결되었으나 systemd와 호환되지 않습니다. )

배경

시스템이 아닌 시스템에서는 이 패치를 사용합니다.https://gitlab.com/ole.tange/tangetools/tree/master/decrypt-root-with-usb

모든 장치의 루트 디렉터리에서 "cryptkey.txt" 파일을 검색하고 각 줄을 키로 사용하여 암호 해독을 시도합니다. 실패한 경우: 암호 입력을 재개합니다.

내가 원하는 방식으로 정확히 작동하지만 systemd에서는 이를 중단하므로 (적어도 직접적으로는) 사용할 수 없습니다.

답변1

실제 부팅 프로세스를 자세히 조사할 필요도 없었지만 systemd패치를 사용하기 위해 몇 가지 변경 사항만 적용했습니다. 이것은 Ubuntu 20.04 LTS의 업데이트된 버전입니다. https://gitlab.com/ole.tange/tangetools/-/tree/master/decrypt-root-with-usb/ubuntu-20.04

관련 정보