cryptsetup 失败,代码 22 参数无效

cryptsetup 失败,代码 22 参数无效

在此输入图像描述

我读过了

并尝试过

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

相关内容