부팅 비밀번호를 사용하여 VeraCrypt 또는 TrueCrypt 볼륨을 마운트하는 방법

부팅 비밀번호를 사용하여 VeraCrypt 또는 TrueCrypt 볼륨을 마운트하는 방법

Windows의 경우 VeraCrypt는 "시스템 즐겨찾기 볼륨"이라는 기능을 구현합니다. 부팅 시 입력한 비밀번호를 사용하여 추가 디스크를 마운트하여 시스템 파티션 잠금을 해제할 수 있습니다.

사양: 저는 Pop OS를 사용하고 있습니다! 22.04에서 이 질문은 Ubuntu 22.04와 동일해야 합니다. 내 시스템 파티션은 LUKS로 암호화되었습니다. 세 개의 볼륨을 마운트하고 싶습니다. 하나는 VeraCrypt로 암호화되고 두 개는 원시 TrueCrypt 암호화로 암호화됩니다.

이 문제를 다루는 여러 기사를 찾았지만 그 중 아무 것도 작동하지 않습니다.

나는 완전히 길을 잃었고 내 실험을 테스트할 수도 없습니다.

답변1

최소한 Debian 및 Ubuntu에서는 시스템 부팅(luks) 비밀번호를 사용하여 truecrypt 볼륨 및 veracrypt를 잠금 해제할 수도 있습니다. PIM이 포함된 Veracrypt 볼륨에는 veracrypt-pim=<number>cryptab의 옵션을 사용하려면 최소한 v254의 systemd가 필요합니다 . 이봐https://www.freedesktop.org/software/systemd/man/latest/crypttab.html

Debian 12 systemd의 경우 v252이므로 veracrypt-pim=<number>cryptab에서 사용하기 위해 v254 systemd 설치에서 백포트합니다. 그런 다음 모든 볼륨이 동일한 비밀번호를 사용하도록 하는 것 외에도 initramfs,keyscript=decrypt_keyctl줄 끝에 옵션을 추가합니다 . initramfs시스템 드라이브 부팅이 시작될 때 볼륨의 암호 해독을 가져오고 비밀번호를 캐시 하므로 keyscript=deycrypt_keyctl비밀번호를 한 번만 입력하면 됩니다.

crypttab 및 시스템 드라이브 잠금 해제 라인의 경우 다음과 같습니다. initramfs시스템 볼륨을 잠금 해제하는 라인은 필요하지 않습니다 .

# System volume
sda3_crypt UUID=6b3229c1-6f6a-480f-8524-212f6bd2e4dc none luks,discard,keyscript=decrypt_keyctl
# Truecrypt volume
sdb_true /dev/disk/by-partuuid/7d185b93-01 none tcrypt,discard,initramfs,keyscript=decrypt_keyctl
# Veracrypt volume.
sdc_vera /dev/disk/by-partuuid/2c175e93-01 none tcrypt-veracrypt,discard,initramfs,keyscript=decrypt_keyctl

PIM이 필요한 Veracrypt 볼륨에는 systemd v254 이상이 필요합니다.

sdc_vera /dev/disk/by-partuuid/2c175e93-01 none tcrypt-veracrypt,veracrypt-pim=20,discard,initramfs,keyscript=decrypt_keyctl

crypttab(및 드라이브 마운트용 fstab) 항목을 생성하고 철저하게 확인한 후! 업데이트 그럽을 실행하세요 # update-initramfs -u -v.

답변2

간단히 말해서:

  • 장비를 소개하기 위해 편집되었습니다 /etc/crypttab.
    # existing lines from the system setup
    cryptdata UUID=ca....5c none luks
    cryptswap UUID=9a...91 /dev/urandom swap,plain,offset=1024,cipher=aes-xts-plain64,size=512
    # added lines
    givenname1 /dev/sdb2 none tcrypt,tcrypt-veracrypt #add the tcrypt-veracrypt option for a device encryted with veracrypt
    givenname2 /dev/sdc2 none tcrypt
    givenname3 /dev/sdd1 none tcrypt
    
  • 다음 줄을 /etc/fstab다음과 같이 추가하십시오.
    /dev/mapper/givenname1 /mnt/mymountpoint1 auto nosuid,nodev,nofail 0 0
    /dev/mapper/givenname2 /mnt/mymountpoint2 auto nosuid,nodev,nofail 0 0
    /dev/mapper/givenname3 /mnt/mymountpoint3 auto nosuid,nodev,nofail 0 0
    

테스트 방법

파일을 편집한 crypttabcryptdisks_start예를 들어 다음을 사용하여 sudo cryptdisks_start givenname1호출 할 수 있습니다. 이것이 작동하면 시작 시 여전히 작동하지 않을 수 있지만 접근 방식은 정확합니다.

시작 시 작동하는지 테스트하려면 다음 단계를 따르세요.

  1. 그러면 crypttab 파일이 다시 읽혀집니다.

    sudo systemctl daemon-reload 
    
  2. 이렇게 하면 서비스가 시작되며, 이전에 cryptdisks_start를 성공적으로 호출한 경우 잘못된 긍정 결과가 나올 수 있습니다.

    sudo systemctl start [email protected]
    
  3. 거짓 긍정 결과를 제거하려면 서비스를 다시 시작하세요.

    sudo systemctl stop [email protected]
    sudo systemctl start [email protected]
    
  4. 링크가 나타나는지 확인하십시오./dev/mappers

    $ ls  /dev/mapper/
    
    control  cryptdata  cryptswap  data-root  givenname1
    

우분투 사용자 주목

Ubuntu는 대부분의 다른 배포판과 다르게 cryptsetup 스크립트를 구현합니다. 따라서 우분투 및 유사한 배포판에는 crypttab의 일부 옵션이 부족합니다.

정확한 변경 사항은 매뉴얼 페이지를 비교하십시오.

tcrypt-keyfile나에게 이것은 옵션이 없기 때문에 비밀번호와 함께 키 파일을 사용할 수 없다는 것을 의미합니다 .

어떤 옵션을 사용할 수 있는지 테스트하려면 전화하세요.man crypttab

논평

이 솔루션은 나에게 매우 효과적입니다. CD를 설치하는 것도 veracrypt GUI를 사용하는 것보다 훨씬 빠릅니다.

일반적인 이중 부팅 시나리오의 경우 설치된 드라이브에 NTFS 파일 시스템이 있을 수 있습니다. 여기의 설치 옵션은 달라야 합니다.

다음에서 이러한 추가 매개변수를 시도했습니다 /etc/fstab.

uid=1000,gid=1000,dmask=027,fmask=137

관련 정보