Cryptsetup:ループバックデバイスを接続できません。

Cryptsetup:ループバックデバイスを接続できません。

別々のヘッダーを使用していますcryptsetup。これを行うには、--header パラメータを使用してヘッダーファイルを指定します。以下を使用してデバイスを開くことができます。

cryptsetup luksOpen /dev/sdb1 sdb1 --header LUKS-HEADER

ただし、ヘッダーをファイル以外のコマンドの出力として提供する必要があります(catここでは説明のためにコマンドを使用します)。

cryptsetup luksOpen /dev/sdb1 sdb1 --header <(cat LUKS-HEADER)

しかし、これはうまくいきません。次のエラーが発生します。

Attaching loopback device failed (loop device with autoclear flag is required).

キーを提供するために同様のアプローチが機能するので、これは混乱します。

cryptsetup luksOpen /dev/sdb1 sdb1 --header LUKS-HEADER --key-file <(printf asdf)

上記のコマンドは正しく動作します(例パスワードとして「asdf」を使用しました)。

--headerパイプ/他のプロセスのオプションに引数を提供する方法は?

賞金の更新:

許可された答えはうまくいきます。つまり、次のものを使用できます。

cat LUKS-HEADER > /dev/ram0
cryptsetup luksDump /dev/ram0

ただし、プロセス置換を使用する方法の解決策が必要です。現在、プロセス置換は機能しません。

cryptsetup luksDump <(cat LUKS-HEADER)

エラーが発生します。

Attaching loopback device failed (loop device with autoclear flag is required).

ベストアンサー1

cryptsetupでは、LUKSヘッダーは通常のファイルまたはデバイスである必要があるようです。プロセス/ストリームの出力としてLUKSヘッダーを提供する必要がある場合は、次のように送信します。/dev/ram

cat LUKS-HEADER > /dev/ram0

(カーネルがRAMディスクをサポートしている場合)

その後、単にcryptsetupコマンドを使用できます。

cryptsetup luksOpen /dev/sdb1 sdb1 --header /dev/ram0

LUKSヘッダーは、空き/dev/ram0容量が確保されるまでディスクに残っていることを覚えておいてください。メモリを解放するには、次のblockdevコマンドを使用できます。

blockdev -v --flushbufs /dev/ram0

おすすめ記事