您必须旋转LUKS键而不破坏已安装的分区


LUKS是Linux的磁盘加密 。首次使用LUKS加密分区时(或在OS安装过程中选择加密磁盘选项时),您必须指定在打开LUKS分区时将使用的密码 。但是,此后,您可以根据需要安装和卸载分区多次,而无需输入密码,直到重新引导系统 。想象以下两种情况:出于安全合规的目的,您需要经常更改LUKS加密密码 。在这种情况下,您必须旋转LUKS键而不破坏已安装的分区 。
您忘记了LUKS密码 。或者,您从某人继承了具有LUKS加密的已挂载分区的系统 。您没有LUKS密码 。重新启动系统时,您将遇到麻烦,因为您没有LUKS键 。
在本教程中,我们将讨论您需要了解的有关LUKS密钥管理的所有信息 。
1.八个LUKS钥匙槽
在LUKS中,对于单个加密分区,可以有八个不同的密钥 。您可以选择一个分区上只有一个键,也可以分配所有八个不同的键 。
【您必须旋转LUKS键而不破坏已安装的分区】八个不同密钥中的任何一个均可用于打开加密分区 。
这些密钥存储在分区的LUKS密钥槽中 。因此,一个分区将有8个键槽 。
要查看所有密钥槽,请使用cryptsetup luksDump,如下所示 。在此示例中,它仅使用两个插槽 。
在上面:
/ dev / sdb1是LUKS加密的分区 。
密钥插槽号从0开始 。由于我们有8个插槽,因此密钥插槽号从0到7开始 。
ENABLED表示已为此特定插槽分配了密钥 。
在这里,我们有两个带有LUKS键的插槽 。因此,/ dev / sdb1 LUKS加密分区分配了两个密钥 。
2.添加新的LUKS密钥
要将新的LUKS密码(LUKS密钥)添加到/ dev / sdb1 LUKS加密分区,请使用cryptsetup luksAddKey命令,如下所示 。
在上面:
输入现有密码后,即可分配新的LUKS密钥 。
当显示“输入任何密码:”时,您应该输入/ dev / sdb1的任何现有密码 。正如我们在上面看到的,它已经有两个来自插槽0和插槽1的密码 。您应该首先输入这些密码中的任何一个 。
每当您添加新的LUKS密钥时,它将被添加到下一个可用插槽中 。由于我们已经有两个现有密钥,因此将新密钥添加到插槽2中,这是下一个可用插槽 。
因此,插槽0到2会显示“已启用” 。我们在/ dev / sdba1上有三个LUKS键 。
3.将新的LUKS密钥添加到特定的插槽
您也可以将新密钥添加到特定的插槽中,而不是LUKS将新密钥添加到下一个可用插槽中 。
在此示例中,我们将新的LUKS密钥添加到插槽5 。我将新密码分配为:PasswordforSlot5 。为此,请使用cryptsetup luksAddKey中的-S选项,如下所示 。
4.删除现有的LUKS密钥
要从LUKS分区中删除现有密钥,请使用cryptsetup luksRemoveKey,如下所示 。
从插槽中删除/擦除/删除LUKS密钥 。您无需指定插槽号 。而是指定要删除的密钥! 。
在此示例中,您只需输入要删除的密码(密钥) 。
在此示例中,当提示“输入要删除的LUKS密码:”时,我输入了在上一个示例中创建的密钥:PasswordforSlot5
5.使用luksKillSlot删除LUKS密钥
如果您没有特定插槽的密钥,而只想删除它,则可以使用cryptsetup luksKillSlot命令来完成,如下所示 。
在此示例中,我们将从LUKS插槽2中删除密钥 。
为此,您必须为任何一个插槽输入LUKS键 。这仅是在从插槽2中删除密钥之前进行的验证 。
6.从文件添加新的LUKS密钥
您还可以根据已经具有的密钥文件添加新的LUKS密钥,如下所示 。
7.重置忘记的LUKS密钥-获取现有密钥
如果您由于忘记了LUKS密码而重新启动了服务器,但又无法挂载加密的LUKS分区,那么您就不走运了,可以重置它 。
但是,如果已打开加密的LUKS分区,并且尚未重启系统,并且忘记了已安装分区的LUKS密码(至少LUKS自上次重启以来已打开一次),则可以分配一个新的LUKS密钥 。
在这种“忘记我的LUKS密码”方案中,您可以执行以下两个步骤:
从LUKS分区中提取当前的加密密钥
使用上面提取的加密密钥创建一个新的LUKS密钥
在此示例中,我安装了/ home1分区,这是LUKS加密的分区,但是我没有密码 。

    推荐阅读