コード22が原因でCryptsetupが失敗しました。パラメータが無効です。

コード22が原因でCryptsetupが失敗しました。パラメータが無効です。

ここに画像の説明を入力してください。

私が読んで

そして試した

cryptsetup open --type luks <device> <dmname> --key-file /root/luks.key

それでもエラー22が発生します。

cryptsetup luksFormat <device> --key-file /root/luks.key -q

出力コマンドが成功しました。

ここのステップに従ってください: https://gist.github.com/huyanhvn/1109822a989914ecb730383fa0f9cfad

キーの生成

openssl genrsa -out /root/luks.key 4096
chmod 400 /root/luks.key

ここに画像の説明を入力してください。

$ sudo dmsetup targets
striped          v1.6.1
linear           v1.3.1
error            v1.5.1

編集1

dm_cryptがロードされていないことを確認してロードしました。

$ modprobe dm_crypt

行って確認してください

$ lsmod | grep -i dm_mod
$ which cryptsetup

ここに画像の説明を入力してください。

また確認しました

$ blkid /dev/data
/dev/data: UUID="xxxxxxxxxxxx" TYPE="crypto_LUKS" 

編集2

追加の欠落モジュール:

modprobe aes_generic
modprobe xts

コア

$ uname -r
4.9.0-12-amd64

オペレーティングシステムはDebian Stretchです。

これはAzureが提供するイメージですが、それに関連するパッチが適用されたかどうかはわかりません。

答え1

これは名前の衝突です。/dev/mapper/data以前のテストですでに競合が発生したため、別の名前でテストする必要がありました。

cryptsetup open --type luks /dev/data new_name  # 1st time sucess
cryptsetup open --type luks /dev/data new_name  # 2nd time fail

関連情報