如何使用两个驱动器加密 Ubuntu 18.04 LTS 安装:主 SSD 上的操作系统,辅助 HDD 上的 /home

如何使用两个驱动器加密 Ubuntu 18.04 LTS 安装:主 SSD 上的操作系统,辅助 HDD 上的 /home

我有一台笔记本电脑,希望进行全新安装并进行全盘加密。我希望将操作系统安装在 SSD 上,安装完成后将目录移至/homeHDD。

  1. 是否可以要求安装程序在安装时完全加密两个驱动器?

    • 如果没有,是否可以在成功将操作系统安装到 SSD 后手动加密第二块硬盘,然后将 /home 移动到第二块硬盘?如果可以,我该怎么做?
  2. 是否可以在启动时使用一个密码解密两个驱动器?我是否正确地假设我必须在两个驱动器上安装 LUKS(以处理加密),然后拉紧(或者链接)两个驱动器之间的 LVM?

    这是我最不确定/如何做的部分。

谢谢,

答案1

如何使用两个驱动器加密 Ubuntu 18.04 LTS 安装:主 SSD 上的操作系统,辅助 HDD 上的 /home

这是 Ubuntu 18.04 LTS 安装的完整磁盘加密指南。不要与仅加密/家目录,我相信在安装过程中该选项已被删除。这些说明适用于 Ubuntu 18.04 LTS,但应该适用于 16.04 LTS。

本指南假设您熟悉 Ubuntu(Linux)并能从 USB 密钥安装操作系统,或者至少了解如何执行此过程 - 如果您不能,请找一个可以的人,然后你们俩一起完成它。 本指南还假设您在开始此过程之前已经备份了所有数据,因为您将在此过程中销毁所有驱动器上的所有数据。

你被警告了!

本指南主要结合了此处(David Yates 的博客文章)中的两个程序(https://davidyat.es/2015/04/03/encrypting-a-second-hard-drive-on-ubuntu-14-10-post-install/)和 Ask Ubuntu 帖子(将主文件夹移动到第二个驱动器)。

首先,我们为什么要这样做?因为如果你有一台笔记本电脑,或者电脑上的其他敏感数据,并且它被盗或丢失,那么保护这些数据是必要的。你可能有法律责任保护这些数据。其次,现在许多(大多数)系统都配有一个小型固态硬盘(速度快)用于操作系统,一个大型硬盘(速度慢)用于数据。第三,只加密/家目录现在被认为是一个坏主意,因为它让你暴露于潜在的/家被黑客入侵(不要问我怎么做到的,我做不到),并且部分加密会大大降低系统速度。FDE 需要的开销较少,因此对系统性能的影响最小。

第一部分:在主驱动器(通常是 SSD)上安装 Ubuntu 18.04 LTS

将 Ubuntu 18.04 LTS 安装到较小的系统(通常是 SSD)上并检查(i)擦除磁盘、(ii)加密安装和(iii)LVM 管理。

安装选择的屏幕截图

这将导致 SSD 加密,但不会触及第二个(通常是 HDD)驱动器。我假设您的第二个驱动器是一个新的、未格式化的驱动器,但在此过程之前驱动器上的内容并不重要。我们将销毁此驱动器上的所有数据。我们将使用 Ubuntu 中的软件包来准备驱动器(不确定这种准备是否绝对必要,但这是我测试过的)。为即将移动的/家分区(文件夹),你应该使用名为分区

sudo apt install gparted

打开 gParted 并导航到第二个 HDD(仔细检查/dev/sd?X)并删除所有现有分区,然后使用ext4文件系统。您也可以标记它,但这不是必需的。选择“应用”。一个 gParted 完成,关闭 gParted,现在您就可以在第二个驱动器上安装 LUKS 容器,然后格式化它。在以下命令中,替换sd?X用你的名字次要例如,驱动器(不是主驱动器)sda1

sudo cryptsetup -y -v luksFormat /dev/sd?X

然后你需要解密新分区,以便你可以用ext4,Ubuntu 首选的现代 Linux 文件系统。

sudo cryptsetup luksOpen /dev/sd?X sd?X_crypt
sudo mkfs.ext4 /dev/mapper/sd?X_crypt

如果你想将第二块硬盘用作常规、经常访问的硬盘(比如移动你的/家分区,这是第二部分),有一种方法可以在启动时自动挂载并解密你的第二个驱动器,当你的计算机提示你输入主硬盘解密密码时。在旁边:我对我的两个驱动器都使用相同的密码,因为我很迷信并且预见到两个不同的密码会带来更多问题。

首先,您需要创建一个密钥文件,它作为您的辅助驱动器的密码,这样您就不必在每次启动时都输入(就像您的主硬盘加密密码一样)。

sudo dd if=/dev/urandom of=/root/.keyfile bs=1024 count=4
sudo chmod 0400 /root/.keyfile
sudo cryptsetup luksAddKey /dev/sd?X /root/.keyfile

创建密钥文件后,使用 nano 将以下行添加到 /etc/crypttab

sudo nano /etc/crypttab

添加此行,保存并关闭文件(在/etc/crypttab中)。

sd?X_crypt UUID=<device UUID> /root/.keyfile luks,discard

要获取分区的 UUID 以输入到在/etc/crypttab中文件,使用此命令(您需要使用须藤这样您的所有分区都会显示出来):

sudo blkid

您想要的值是/dev/sd?X, 不是dev/mapper/sd?X_crypt。还要确保复制的是 UUID,而不是 PARTUUID。

好的,此时(关闭并保存在/etc/crypttab中文件),您应该能够登录到您的 Ubuntu 安装(输入您的主驱动器解密密码),并且它应该解密您的主驱动器和辅助驱动器。您应该检查是否发生这种情况停止;并解决问题。如果你没有这样做,并且你已经移动了你的/家,您的系统将无法正常工作。

重新启动并检查是否确实如此(菊花链解密)。如果第二个驱动器自动解密,则当您选择“其他位置”时,第二个驱动器应显示在列表中,并带有锁定图标,但图标应该是解锁

如果第二个驱动器自动解密(应该如此),则继续第二部分,指定第二个驱动器作为您的默认位置/家文件夹(具有较大的空间)。

第二部分:将 /home 分区移动到辅助驱动器(IE硬碟 (HDD)

我们需要为辅助驱动器创建一个挂载点,临时挂载新分区(辅助硬盘)并移动/家至此:

sudo mkdir /mnt/tmp
sudo mount /dev/mapper/sd?X_crypt /mnt/tmp

假设/sd?X新的分区是/家(如上所述)

现在我们复制你的/家文件夹到新的/家位置从主驱动器 (SSD) 移至辅助驱动器 (HDD)。

sudo rsync -avx /home/ /mnt/tmp

然后我们可以将新分区挂载为/家

sudo mount /dev/mapper/sd?X_crypt /home

以确保所有文件夹(数据)都存在。

ls

现在,我们想打造新的/家位置在辅助驱动器上永久,我们需要编辑文件系统自动挂载您移动的条目/家在二级解密硬盘上。

sudo nano /etc/fstab

并在末尾添加以下行:

/dev/mapper/sd?X_crypt /home ext4 defaults 0 2

保存并关闭文件。

重启。重启后,您的/家应该驻留在新的辅助驱动器上,并且您应该有足够的空间来存储您的数据。

相关内容