进行搜索时,由于密码设置,其他人似乎遇到了更复杂的问题,但我的问题是在做一些简单的事情时。
使用 Lubuntu 18.10 32bit 的最新安装(内核已更新),我可以创建一个加密分区:
cryptsetup --verbose --verify-passphrase luksFormat /dev/mmcblk0
WARNING: Device /dev/mmcblk0 already contains a 'crypto_LUKS' superblock signature.
WARNING!
========
This will overwrite data on /dev/mmcblk0 irrevocably.
Are you sure? (Type uppercase yes): YES
Enter passphrase for /dev/mmcblk0:
Verify passphrase:
Existing 'crypto_LUKS' superblock signature on device /dev/mmcblk0 will be wiped.
Key slot 0 created.
Command successful.
如果给定的密码是 letter a
,我无法解锁它:
cryptsetup --verbose luksOpen /dev/mmcblk0 crypt
Enter passphrase for /dev/mmcblk0:
No key available with this passphrase.
Enter passphrase for /dev/mmcblk0:
(我也尝试了 zulucrypt,结果相同)
由于我使用其安装程序的加密功能安装了 Lubuntu,我可以在我的系统本机使用的内容和cryptsetup
我的 mmc 驱动器上制作的内容之间进行比较。
cryptsetup luksDump /dev/sda1
相关部分似乎是:
Version: 1
Cipher name: aes
Cipher mode: xts-plain64
Hash spec: sha256
Payload offset: 4096
MK bits: 512
我看到的两个转储之间的唯一区别是,对于我的本地驱动器,底部的“MK 位”是 512,但对于 mmc,它是 256。
我不知道这是否相关,但我也看到我的本地驱动器有两个键槽,而 mmc 只有一个。(我的本地驱动器有两个密钥槽这一事实让我希望/怀疑安装程序是否放入了重复的密钥以防第一个密钥损坏。)
一位评论者要求我尝试以这种方式提供密码:
echo -n 'a' | cryptsetup --verbose luksOpen /dev/mmcblk0 crypt
Can't do passphrase verification on non-tty inputs.
No key available with this passphrase.
Command failed with code -2 (no permission or bad passphrase).
另一种提供密码的方法:
echo 'a' > interactive_pass
cat interactive_pass | cryptsetup luksAddKey /dev/mmcblk0
No key available with this passphrase.
使用密钥文件。
我无法理解这一点。我摸索了一会儿,但停了下来,因为我分不清使用错误和它有自己的问题之间的区别。
zulucrypt 有一种创建密钥文件的方法,但它只是说Failed To Generate Key
. 这很简单,所以我确定我使用它正确(以 root 身份运行,对我要创建的文件具有写权限)