linux密码文件损坏,linux – 在不知道密码的情况下更改LUKS文件系统上的密码

我有一台Debian Wheezy服务器,它已经运行了一段时间,带有加密驱动器.当我的加密密码文件损坏时,加密驱动器的密码(/ dev / sda5)丢失了.

我希望能够重新启动此服务器,但这当然需要密码.由于驱动器显然处于解密状态,有没有办法在不知道旧密码的情况下更改密码?

cryptsetup luksChangeKey / dev / sda5需要卷的密码.

我当然可以将所有东西都关闭并重建,但我想避免这种情况.我查看了内存(#cat / dev / mem | less),但无法找到它(这是一件非常好的事情!).

解决方法:

是的,您可以通过在解密卷时访问主密钥来执行此操作.

添加新密码的快速和脏:

device=/dev/sda5

volume_name=foo

cryptsetup luksAddKey $device --master-key-file

应正确设置device和volume_name.

volume_name是解密卷的名称,即您在/ dev / mapper中看到的卷的名称.

说明:

LUKS卷使用主密钥加密其数据.您添加的每个密码只会存储使用该密码加密的此主密钥的副本.因此,如果您拥有主密钥,则只需在新的密钥槽中使用它即可.

让我们拆开上面的命令.

$dmsetup table --showkeys $volume_name

这会转储有关主动解密卷的大量信息.输出如下所示:

0 200704 crypt aes-xts-plain64 53bb7da1f26e2a032cc9e70d6162980440bd69bb31cb64d2a4012362eeaad0ac 0 7:2 4096

字段#5是主密钥.

$dmsetup table --showkeys $volume_name | awk '{ print $5 }' | xxd -r -p

不会以二进制数据的形式显示此输出,但这样做的方法是获取卷的主密钥,然后将其转换为以后需要的原始二进制数据.

$cryptsetup luksAddKey $device --master-key-file

这告诉cryptsetup向卷添加新密钥.通常此操作需要现有密钥,但是我们使用–master-key-file来告诉它我们要使用主密钥.

所以整个命令只是一个单行程来压缩几个操作.

标签:linux,luks

来源: https://codeday.me/bug/20190808/1623710.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值