HOWTO:使用密钥文件自动解锁LUKS加密驱动器

HOWTO:使用密钥文件自动解锁LUKS加密驱动器

作者:Stephan Jau
修订:v1.0
最后更改:2008年7月3日

介绍

那么,我已经写了两个与LUKS / dm_crypt有关的两个教程。 第一个是如何在Feisty Fawn上启用加密(默认情况下不包括在后面),另一个是如何通过远程连接重新启动/解锁。

那么这个howto是因为第二个howto的一个问题写的。 这个问题是如何远程解锁初始RAM中的多个设备。 我建议使用密钥文件进行自动解锁。 密钥文件应存储在正常加密的根分区中 - 因此您仍然需要解锁该分区。 在引导过程中,它将被用于解锁所有其他设备。

当然,也可以使用加密的LVM,以便所有空间被加密,但只需要一个密码。 到目前为止,还没有看到LVM的用法,似乎其他人也不喜欢使用单独的加密设备。 这样,您可以轻松地将加密的硬盘移动到另一台计算机。 我不知道这是否与LVM加​​密驱动器配合使用,因为我没有经验。

有人可能会问这个设置有多安全? 我会说很安全 在此过程中,keyfile将只读为root。 所以,如果有人可以访问密钥文件,您的计算机上仍然有更严重的问题。

第1步:创建随机密钥文件

sudo dd if=/dev/urandom of=/root/keyfile bs=1024 count=4

这将创建一个随机内容的文件,大小为4096位(优于20/30字符密码....)。 您可以使用任何文件作为密钥文件,但我认为具有随机内容的4kb文件是非常适合的。

第2步:使密钥文件只读为root

sudo chmod 0400 /root/keyfile

这将使密钥文件只能由root读取。 如果有人访问这个密钥文件,那么你的计算机上有一个更大的问题。

或者,将所需的密钥文件选择为root:root,并将其移动到/ root文件夹中

第3步:将密钥文件添加到LUKS

启用LUKS / dm_crypt的设备最多可以容纳10个不同的密钥文件/密码。 所以,在拥有已设置的密码之后,我们将添加这个密钥文件作为额外的授权方法。

sudo cryptsetup luksAddKey /dev/sdX /root/keyfile

sdX当然是你的LUKS设备。

首先,系统将提示您输入(现有)密码以解锁驱动器。 如果一切顺利,你应该得到如下输出:

Enter any LUKS passphrase:
key slot 0 unlocked.
Command successful.

第4步:创建一个映射器

LUKS设备需要创建一个映射器,然后可以在fstab中引用它。 打开/ etc / crypttab

sudo nano /etc/crypttab

然后添加一行如下所示:

sdX_crypt      /dev/sdX  /root/keyfile  luks

或者您可以使用设备的UUID:

sdX_crypt      /dev/disk/by-uuid/247ad289-dbe5-4419-9965-e3cd30f0b080  /root/keyfile  luks

sdX_crypt是要创建的映射器的名称。 您可以在这里使用任何名称,如“音乐”或“电影”或“sfdsfawe”....

通过发出ctrl-x保存并关闭文件,输入,输入。 Ctrl-x关闭nano,但首先要求保存文件[yes = enter],名称应为[same name = enter]。

我们实际上做的是告诉/ root / keyfile,而不是密码输入来解锁驱动器。

第5步:将设备安装在fstab中

现在,我们有一个解锁的设备(嗯,还没有,但是当系统启动时),我们只需要安装它。 打开/ etc / fstab

sudo nano /etc/fstab

并添加一个新条目,如:

/dev/mapper/sdX_crypt  /media/sdX     ext3    defaults        0       2

确保您在第4步中添加了正确的映射程序名称。还要确保安装点/文件夹存在。 添加完后,再次保存文件并将其关闭(ctrl-x,输入,输入)。

第6步:重新启动或重新装载

而已。 现在您可以重新启动,其他设备应该自动解锁和挂载。 您还可以通过重新安装所有设备进行测试:

sudo mount -a
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏