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