在一次愚蠢的试图禁用LUKS加密的尝试中,我已经做了
cryptsetup luksRemoveKey我唯一的钥匙。所以现在每当我试图引导我的Fedora-21时,它都会请求密码,但显然不认识它,并说:
Reached target System Initialization
Reached target Basic System仅此而已。有没有办法从这个恢复,或者我必须重新格式化我的硬盘?
cryptsetup luksAddKey在这种情况下似乎行不通。
发布于 2015-02-04 23:55:32
如手册所述,游戏结束了。
删除最后一个密码使LUKS容器永久无法访问。
也就是说,如果你真的把最后一把钥匙拿走了。cryptsetup luksDump是否显示所有关键插槽的DISABLED?
通常,cryptsetup会阻止您这样做,或者至少要求您确认:
# 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头,如这个答案中所示(它以不同的方式获得主键,但概念相同)。
发布于 2015-02-05 00:35:30
来自cryptsetup手册:
删除最后一个密码使LUKS容器永久无法访问。
这是卢克斯设计固有的特性。每个密钥槽都包含实际的加密密钥,由从密码派生的密钥包装。如果没有包含包装密钥的槽,那么就没有密钥的副本了。
恐怕您必须从备份中恢复数据。
https://unix.stackexchange.com/questions/182999
复制相似问题