首先,我知道这种情况很糟糕,而且应该始终备份密钥,但问题不是我造成的。我只是寻求帮助。
该驱动器使用带有 luks 的 cryptsetup 加密。相应的密码丢失了,但设备已打开(已安装)。我尝试使用 luksAddKey 添加新密钥,但首先必须输入现有密码。
有没有办法获取此设备的新密码,或者我是否必须将所有数据复制到额外的驱动器并创建一个新的加密设备?
系统信息为:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
$ cryptsetup --version
cryptsetup 1.6.6
$ cryptsetup luksDump /dev/md2
LUKS header information for /dev/md2
Version: 1
Cipher name: aes
Cipher mode: xts-plain64
Hash spec: sha512
Payload offset: 4096
MK bits: 512
MK digest: 37 ee 53 b6 13 86 93 2a 13 36 41 85 ab 26 e0 7f 7f 3e 03 be
MK salt: ed 4e 59 fc 3e b3 42 f2 32 97 c5 95 83 eb 90 6c
eb 40 02 25 85 db 5c d1 68 85 3a 54 a0 9d c9 f1
MK iterations: 62875
UUID: a9b56d9a-fb50-4b8a-ad63-af1851c89f42
Key Slot 0: ENABLED
Iterations: 267782
Salt: 25 66 7e 35 aa 55 b2 05 c3 fc 66 89 e4 2c 5c b6
e3 18 25 8e 66 d8 03 c5 24 d7 a1 09 15 dc ec 78
Key material offset: 8
AF stripes: 4000
Key Slot 1: DISABLED
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED
答案1
您可以在以下位置找到好的解决方案:http://www.thegeekstuff.com/2016/03/cryptsetup-lukskey/
以下是简短版本:
dmsetup table --showkeys|grep luks
确保您只有一个加密设备。
cryptsetup luksAddKey /dev/sdXX --master-key-file <(dmsetup table --showkeys|grep luks|cut -d\ -f 6|xxd -r -p)
请将 /dev/sdXX 更改为 luks 所在的块设备。