首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在只移除LUKS键后恢复?

如何在只移除LUKS键后恢复?
EN

Unix & Linux用户
提问于 2015-02-04 23:17:17
回答 2查看 4K关注 0票数 4

在一次愚蠢的试图禁用LUKS加密的尝试中,我已经做了

代码语言:javascript
复制
cryptsetup luksRemoveKey

我唯一的钥匙。所以现在每当我试图引导我的Fedora-21时,它都会请求密码,但显然不认识它,并说:

代码语言:javascript
复制
Reached target System Initialization
Reached target Basic System

仅此而已。有没有办法从这个恢复,或者我必须重新格式化我的硬盘?

代码语言:javascript
复制
cryptsetup luksAddKey

在这种情况下似乎行不通。

EN

回答 2

Unix & Linux用户

发布于 2015-02-04 23:55:32

如手册所述,游戏结束了。

删除最后一个密码使LUKS容器永久无法访问。

也就是说,如果你真的把最后一把钥匙拿走了。cryptsetup luksDump是否显示所有关键插槽的DISABLED

通常,cryptsetup会阻止您这样做,或者至少要求您确认:

代码语言:javascript
复制
# cryptsetup luksRemoveKey foobar
Enter passphrase to be deleted: 

WARNING!
========
This is the last keyslot. Device will become unusable after purging this key.

Are you sure? (Type uppercase yes): NO, ABSOLUTELY NOT OKAY!

它会这样做,除非它处于批处理模式,或者从管道中读取密码。

就我个人而言,我觉得即使这样也会阻止你,毕竟,如果你真的想让它无法访问,你也可以直接使用luksErase。但这看上去不是这样的。

如果您有LUKS头的备份,或者LUKS容器仍处于打开状态,则情况就不同了。只需还原或与luksOpen --header thebackup.header一起使用的LUKS头的备份。

对于打开的LUKS容器,您可以使用dmsetup table --showkeys获得主键,并从其中构建一个新的LUKS头,如这个答案中所示(它以不同的方式获得主键,但概念相同)。

票数 6
EN

Unix & Linux用户

发布于 2015-02-05 00:35:30

来自cryptsetup手册

删除最后一个密码使LUKS容器永久无法访问。

这是卢克斯设计固有的特性。每个密钥槽都包含实际的加密密钥,由从密码派生的密钥包装。如果没有包含包装密钥的槽,那么就没有密钥的副本了。

恐怕您必须从备份中恢复数据。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/182999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档