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

答え2

地下室の設定男性)

Cryptsetup--headerオプションがデバイスまたはファイルを読み込んでいるため(パスワード設定.c "header", "Device or file with separated LUKS header")、潜在的な解決は質問をすることである場合もあります。こここの機能についてお問い合わせください。あるいは、パイプのサポートを追加するためにcryptsetupのカスタムパッチを作成することもできます(このソリューションは最も単純ではありませんが、最も信頼性が高く、パラメータは変数に--header保存されます)opt_header_device パスワード設定.c)。

答え3

LUKSデバイスのみを開くときに「ループバックデバイスの接続に失敗しました(自動削除フラグを持つループバックデバイスが必要)」エラーを修正するには、を実行しますsudo modprobe loop

最新のLinuxカーネル(5.3.13)では、「loop」モジュールはデフォルトでロードされていないようです。

答え4

私はあなたが何をしているのか<(cat HEADER)実際にやっていると思うことをしていないと思います。私がこれを信じる理由は次のとおりです。

luksOpen <device> <name> (old syntax)

LUKSデバイスを開くdeviceマッピングを設定し、name提供されたパスワードを正常に確認した後。パスワードが指定されていない場合、--key-file次のコマンドは対話型プロンプト

ループバック機器使用時の注意事項

Cryptsetup は通常、ブロックデバイスで直接使用されます。(ディスクパーティションまたはLVMボリューム)。ただし、デバイスパラメータがファイルの場合は、cryptsetupループバックデバイスを割り当ててファイルにマッピングしようとします。このモードには Linux カーネル 2.6.25 以降が必要で、定期的にフラグの自動消去をサポートします。(最後にオフにすると、屋根ふき装置が自動的に消去されます)。もちろん、いつでもファイルを手動でループデバイスにマップできます。

cryptsetupどういうわけか、意図したものよりも多くの引数を生成するか、より少なく生成するようです。デバイスパラメータとして文書代わりにブロックデバイスとして使用するので、ループバックを介してマウントしてみてください。

関連情報