완전히 암호화된 USB 플래시 드라이브를 OpenWRT 라우터에 자동으로 마운트하려면 어떻게 해야 합니까?

완전히 암호화된 USB 플래시 드라이브를 OpenWRT 라우터에 자동으로 마운트하려면 어떻게 해야 합니까?

방금 키 파일을 사용하여 외장 하드 드라이브를 암호화하고 다음 위치에 마운트했습니다.내 라우터. 문제는 재부팅할 때마다 매핑을 수동으로 다시 생성하고 다시 설치해야 한다는 것입니다.

OpenWRT의 문서에는 할 말이 많은 것 같습니다.일반 하드 디스크 자동 마운트, 그러나 일반 암호화된 하드 드라이브를 자동으로 마운트하는 방법에 대해서는 많이 알지 못합니다. Google에서는 /etc/crypttab내 OpenWRT 시스템에 없는 것 같은 이 기능을 사용할 것을 제안합니다 .

일반 텍스트로 암호화된 외부 장치를 자동으로 설치하는 방법은 무엇입니까?

답변1

이전 답변이 부족해서 삭제했습니다.

경고: openwrt의 virtualbox 이미지(자세 조정(12.9, r36088))에서 이 솔루션을 시도했지만 라우터에서는 약간 다를 수 있습니다.

키 파일은 /root/keyfile이고 사용된 비밀번호는 aes-xts-plain이라고 가정합니다. 설정에 따라 이 값을 변경해야 합니다.

원하시면 openwrt에서 luks 확장을 활성화하는 방법을 알려드릴 수 있습니다.

시스템이 이미 cryptsetup 및 모든 다양한 암호를 지원한다고 가정하면 openwrt의 cryptosetup 구현이 /etc/crypttab을 지원하지 않는 것 같기 때문에 핫플러그 수준에서 이를 수행해야 합니다(아마도 부팅 이미지를 다시 컴파일해야 함)

핫 플러그 ​​지원 설치

root@OpenWrt:~# opkg install block-mount

내 시스템에서 다음과 같은 /etc/hotplug.d/usb/10-usb를 엽니다.

#!/bin/sh

# Copyright (C) 2009 OpenWrt.org


case "$ACTION" in
        add)
                # update LEDs
                ;;                     
        remove)            
                # update LEDs
                ;;           
esac 

파일을 편집했습니다.

#!/bin/sh

# Copyright (C) 2009 OpenWrt.org


case "$ACTION" in
        add)
                # update LEDs
                exec logger "PRD:" ${PRODUCT};
                ;;                     
        remove)            
                # update LEDs
                ;;           
esac 

디스크를 삽입하기 전에 라우터에 연결된 터미널에서 로그를 추적하십시오.

root@OpenWrt:~# logread -f|grep PRD

USB 디스크를 연결하면 다음과 유사한 줄이 표시됩니다.

Oct 29 10:43:48 OpenWrt user.notice root: PRD: 13fe/3600/100

PRD 뒤의 문자열에 유의하세요. 이는 해독할 디스크를 식별하는 데 사용됩니다.

이제 핫플러그 메커니즘은 먼저 /etc/hotplug.d/usb에 있는 스크립트를 호출한 다음 /etc/hotplug.d/block에 있는 40-mount 스크립트를 호출합니다. 장치 및 마운트 지점 데이터는 환경 변수를 통해 전달되지만 환경 변수를 사용하여 암호화된 파티션을 마운트하려는 40-mount 스크립트와 통신하는 방법을 이해할 수 없습니다. 그래서 덜 우아하지만 여전히 기능적인 것을 선택했습니다. /etc/hotplug.d/usb/10-usb 파일을 수정했습니다.

#!/bin/sh

# Copyright (C) 2009 OpenWrt.org
PRODID="13fe/3600/100"
case "$ACTION" in
    add)
        # update LEDs
        if [ "${PRODUCT}" = "${PRODID}" ];
        then
            touch /tmp/crypt
        fi
        ;;
    remove)
        # update LEDs
                if [ "${PRODUCT}" = "${PRODID}" ];      
                then            
                        rm /tmp/crypt
            fi           

        ;;
esac    

암호화된 디스크를 삽입하면 /tmp/cryp 파일이 생성되고, 디스크를 꺼내면 해당 파일이 삭제됩니다. 그래서 /etc/hotplug.d/block/40-mount 파일을 편집했습니다:

case "$ACTION" in
        add)

### AUTO DECRYPT
            if [ -e /tmp/crypt ];
               then
                  /usr/sbin/cryptsetup -c aes-xts-plain create -d /root/keyfile cryptousb /dev/$device;
                  device="mapper/cryptousb"
                  mountpoint="/mnt/cryptousb"
                  sleep 10
            fi
#### END AUTO DECRYPT

그리고:

remove)                          
### AUTO DECRYPT               
          if [ -e /tmp/crypt ];
             then           
                /usr/sbin/cryptsetup remove cryptousb;
                device="mapper/cryptousb"
                mountpoint="/mnt/cryptousb"
                sleep 10                 
        rm /tmp/crypt
          fi

#### END AUTO DECRYPT

디스크를 삽입하고 PRODID가 인식되면 마운트하기 전에 볼륨을 열고 매핑한 다음 장치 이름과 마운트 지점을 변경하세요. 비밀번호 설정 프로세스가 완료될 때까지 기다리려면 절전 모드가 필요합니다. 볼륨을 마운트 해제하면 /dev/mapper의 매핑이 삭제됩니다.

이것이 당신에게 유용하길 바랍니다

관련 정보