7.2. 암호화 볼륨 마운트하기

설치할 때 암호화 볼륨을 만들고 마운트 위치를 지정했다면, 부팅할 때 각각의 볼륨에 대해 암호를 입력하게 됩니다. 실제 절차는 dm-crypt와 loop-AES가 약간 다릅니다.

7.2.1. dm-crypt

dm-crypt로 암호화한 파티션의 경우 부팅할 때 다음과 같이 물어봅니다:

Starting early crypto disks... part_crypt(starting)
Enter LUKS passphrase:

첫번째 줄에서, part는 실제 파티션의 이름입니다. (예를 들어 sda2나 md0.) 여기에서 과연 어떤 볼륨의 암호를 실제로 입력해야 하는 지 의문이 들 것입니다. /home 아니면 /var일까요? 물론, 암호화 볼륨이 1개뿐이라면, 이 볼륨을 설정할 때 사용한 암호를 입력하면 됩니다. 설치할 때 암호화 볼륨을 여러 개 설정했다면, 6.3.3.6절. “암호화 볼륨 설정하기”의 마지막 단계에서 적어 놓은 메모를 잘 가지고 있어야 합니다. part_crypt에 해당되는 사항과 거기에 해당하는 마운트 위치를 적어 놓지 않았다면 새로 설치한 시스템의 /etc/crypttab/etc/fstab에서 찾아 볼 수도 있습니다.

이 프롬프트는 암호화한 루트 파일시스템을 마운트할 때는 약간 다릅니다. 시스템을 부팅할 때 사용하는 initrd를 만들 때 어떤 initramfs 만들기 프로그램을 사용했느냐에 따라 다릅니다. 아래의 예제는 initramfs-tools로 initrd를 만들 경우에 대한 예제입니다:

Begin: Mounting root file system... ...
Begin: Running /scripts/local-top ...
Enter LUKS passphrase:

암호를 입력할 때는 아무런 글자도(별표 조차도) 나타나지 않습니다. 암호를 잘못 입력하면 두 번 더 시도할 수 있습니다. 세 번째 시도에서 틀리면 부팅 과정에서 해당 볼륨을 건너뛰고 다음 파일 시스템으로 넘어갑니다. 자세한 정보는 7.2.3절. “문제 해결” 부분을 보십시오.

암호를 모두 입력하면 부팅은 평소처럼 계속 진행합니다.

7.2.2. loop-AES

loop-AES를 사용해 암호화한 파티션의 경우 부팅할 때 다음 프롬프트가 나옵니다:

Checking loop-encrypted file systems.
Setting up /dev/loopX (/mountpoint)
Password:

암호를 입력할 때는 아무런 글자도(별표 조차도) 나타나지 않습니다. 암호를 잘못 입력하면 두 번 더 시도할 수 있습니다. 세 번째 시도에서 틀리면 부팅 과정에서 해당 볼륨을 건너뛰고 다음 파일 시스템으로 넘어갑니다. 자세한 정보는 7.2.3절. “문제 해결” 부분을 보십시오.

암호를 모두 입력하면 부팅은 평소처럼 계속 진행합니다.

7.2.3. 문제 해결

암호가 틀려서 암호화 볼륨을 마운트하지 못할 경우, 부팅한 다음에 수동으로 마운트해야 합니다. 여러가지 경우가 있습니다.

  • 첫번째 경우는 루트 파티션입니다. 올바르게 마운트하지 않으면, 부팅 과정이 멈추게 되고 컴퓨터를 다시 시작해서 암호를 다시 입력해야 합니다.

  • 가장 쉬운 경우는 암호화 볼륨에 /home이나 /srv처럼 데이터가 들어 있는 경우입니다. 부팅한 다음에 이 볼륨을 수동으로 마운트하기만 하면 됩니다. loop-AES의 경우 한 번에 끝나는 작업입니다:

     # mount /마운트_위치
    Password:
    

    여기서 /마운트_위치는 해당 디렉터리를(예를 들어 /home) 씁니다. 일반적인 마운트와 다른 부분은 이 볼륨의 암호를 입력하는 것 뿐입니다.

    dm-crypt의 경우에는 약간 까다롭습니다. 먼저 해당 볼륨을 다음 명령어로 device mapper에 등록해야 합니다:

    # /etc/init.d/cryptdisks start
    

    이렇게 하면 /etc/crypttab에 들어 있는 모든 볼륨을 검색하고 암호를 올바르게 입력할 때마다 /dev 디렉터리 아래에 적당한 장치를 만듭니다. (이미 등록한 볼륨은 건너 뛰므로, 걱정하지 말고 이 명령어를 여러번 실행해도 됩니다.) 올바르게 등록을 마치면 해당 볼륨을 평소와 다름없이 마운트할 수 있습니다:

    # mount /마운트_위치
    

  • If any volume holding noncritical system files could not be mounted (/usr or /var), the system should still boot and you should be able to mount the volumes manually like in the previous case. However, you will also need to (re)start any services usually running in your default runlevel because it is very likely that they were not started. The easiest way is to just reboot the computer.