キーファイルを使用して外付けハードドライブを暗号化し、次の場所にマウントしました。私のルーター。問題は、再起動するたびにマッピングを手動で再作成して再インストールする必要があることです。
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 のマッピングが削除されます。
これがあなたに役立つことを願っています