系统相关
首页 > 系统相关> > linux – LUKS密码短语不起作用

linux – LUKS密码短语不起作用

作者:互联网

有一天,当我打开电脑时,我的家庭部分/ dev / sda7的密码不起作用(我绝对肯定是147%,我写的是正确的通行证)!经过三次尝试后,我通过强制关机重新启动计算机并尝试输入相同的通行证.那没用.然后我选择“Boot arch with Linux linux”而不是默认启动“Boot arch”.它帮助了我.我整天都在工作,关掉电脑后.但是在下一次启动时,这个技巧对我没有帮助.甚至选择“使用Linux linux启动arch(initramfs fallback)”(我只有3个选择启动).然后我决定从Ubuntu LiveUSB启动. sudo cryptsetup luksOpen / dev / sda7 home say:这个密码没有密钥.

我试图执行sudo cryptsetup –verbose repair / dev / sda7,其中说没有检测到LUKS头的已知问题..我编译并执行了官方cryptsetup工具https://gitlab.com/cryptsetup/cryptsetup/tree/master/misc/keyslot_checker来检查keyslot.它说的关于keyslots的相同信息,就是说luksDump.

$sudo cryptsetup
LUKS header information for /dev/sda7

Version:        1
Cipher name:    aes
Cipher mode:    xts-plain64
Hash spec:      sha256
Payload offset: 4096
MK bits:        256
MK digest:      fc 18 49 fe 3a 4e d4 11 b9 6f 0c c7 1d 54 0a 8d 44 01 86 36 
MK salt:        5e 59 c8 fc f2 a9 10 b9 bf 7c 68 4b e4 a5 8e 00 
                5a f9 c7 66 f9 5b 02 ff e7 59 e4 fd 43 f2 dc b5 
MK iterations:  249500
UUID:           cc2f71c3-f0d9-4642-bf59-87bff4f60b54

Key Slot 0: ENABLED
    Iterations:             1996099
    Salt:                   3e 60 e7 14 02 95 89 c0 c2 bf 8d 61 bb 99 13 aa 
                            9d 9a c4 7d d4 41 78 ee 76 b0 48 b4 ed b0 ff a8 
    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

所有这一切看起来都很好.像标题和所有分区都没有损坏.我不知道为什么密码不适合.我只能说我每天都在全面升级我的系统(通过sudo pacman -Syyu).并且可能在某一天以某种方式升级导致了这种后果.

解决方法:

如果LUKS头中存在损坏(不仅仅是一个字节),则几乎不可能恢复.

LUKS标头没有其密钥材料的校验和,因此 – 如果它以任何方式损坏,cryptsetup luksDump将看起来像往常一样,但您的密码短信将不再起作用.如果您无法使密码短语有效,则无法排除损坏.

您可以使用hexdump(keyslot checker的手动方法)检查​​它:

hexdump -C -n 132096 foobar.img | less

00000000  4c 55 4b 53 ba be 00 01  61 65 73 00 00 00 00 00  |LUKS....aes.....|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000020  00 00 00 00 00 00 00 00  78 74 73 2d 70 6c 61 69  |........xts-plai|
... 0x00000->0x01000 should be mixed text, zero and random ...
00001000  9f 27 7a 46 8b c7 0e 09  00 82 2d 66 a7 4b b7 76  |.'zF......-f.K.v|
00001010  7a 01 ed 65 91 d0 96 af  3c f1 85 0d 64 48 81 e7  |z..e....<...dH..|
00001020  3a 00 0d d1 23 e0 95 d2  8e 42 34 4d e2 74 c4 d6  |:...#....B4M.t..|
... 0x01000->0x20400 should be 128K of random only ...
000203d0  b6 04 f6 34 08 64 10 3f  4e b7 c4 21 e6 d8 da 56  |...4.d.?N..!...V|
000203e0  0e eb 53 ce d2 a6 94 f0  92 7b 11 4b c1 96 9f 17  |..S......{.K....|
000203f0  94 88 b4 cd 36 a5 e1 b2  e9 ba 27 f3 85 7d cb 3f  |....6.....'..}.?|
00020400

第一段是luksDump显示的,只有部分是随机的.范围00001000..00020400是Key Slot 0的关键材料,这应该在整个过程中看起来是随机的,如果有任何一段被清零或者明显缺乏随机性(比如出现一个狂野的纯文本字符串),那么标题是腐败的.

如果您没有使用美国版面,请尝试使用您通常使用的布局.键盘布局问题也是密码短语停止工作的常见原因.在这种情况下,它有助于多次添加相同的密码(每个布局一个),因此无论哪个布局当前处于活动状态,LUKS都会接受它.

标签:linux,luks,cryptsetup,disk-encryption,dm-crypt
来源: https://codeday.me/bug/20190814/1658179.html