如何在 Linux 上使用 LUKS 加密块设备

[ad_1]

有时您可能想要加密您的硬盘,以便当有人将您的硬盘连接到他们的计算机时,他们需要提供用户凭据来安装驱动器。 在 Linux 中,可以加密单个块设备。 在本文中,我们将学习如何在 Linux 中使用 LUKS 加密块设备。 LUKS 是 Linux 加密层,可用于加密整个根分区、逻辑卷或特定分区。

本教程涵盖以下 Linux 发行版

  • Debian
  • Ubuntu
  • RHEL
  • 中央操作系统
  • 洛基 Linux
  • Almalinux

安装 cryptsetup-luks 包

Cryptsetup 实用工具附带 cryptsetup-luks 软件包,用于在 Linux 系统中设置块设备加密。 可以使用以下命令进行安装。

Ubuntu/Debian

$ apt-get install cryptsetup

RHEL/CentOS/Rocky Linux/Almalinux

$ dnf install cryptsetup-luks

准备一个 LUKS 分区

安装实用工具后,准备一个分区进行加密。 要列出所有可用的分区和块设备,请运行以下命令。

$ fdisk -l
$ blkid

现在使用 cryptsetup luksFormat 命令在分区中设置加密。 在此示例中,分区 sdb 用于加密。 您可以根据自己的环境做出自己的假设。

$ cryptsetup -y -v luksFormat /dev/sdb

上面执行的命令将删除分区上的所有数据

现在我们需要在上面的步骤中创建一个挂载到 LUKS 加密分区的逻辑设备映射器设备。 在这个例子中, 加密 是为打开的 LUKS 分区的映射名称提供的名称。

以下命令将创建一个卷并设置密码或初始密钥。 请记住,密码无法恢复。

$ cryptsetup luksOpen /dev/sdb encrypted

设置分区密码

可以使用以下命令找到分区的映射详细信息。

$ ls -l /dev/mapper/encrypted

加密驱动器

使用以下命令查看映射状态。 将您的映射名称替换为 加密.

$ cryptsetup -v status encrypted

显示加密状态

cryptsetup 和 luksDump 命令可用于检查设备是否已成功格式化以进行加密。 在此示例中,使用 sdb 分区进行确认。

$ cryptsetup luksDump /dev/sdb

喜欢转储

LUX 分区格式

将零写入 LUKS 加密的分区将用零分配块大小。 使用以下命令将加密块设备设置为零。

$ dd if=/dev/zero of=/dev/mapper/encrypted

在加密驱动器中分配空间

dd 命令可能需要一些时间才能执行。 使用 pv 命令检查进度。

$ pv -tpreb /dev/zero | dd of=/dev/mapper/encrypted bs=128M

检查进度

注意:更换 加密 与您的设备映射名称。

现在使用所需的文件系统格式化新分区。 在此示例中,使用了 ext4 文件系统。

$ mkfs.ext4 /dev/mapper/encrypted

代替 加密 使用您的设备映射器名称。

格式化加密设备

挂载新的文件系统。 在此示例中,新文件系统安装在 /encrypted

$ mkdir /encrypted
$ mount /dev/mapper/encrypted /encrypted

替换设备映射器名称 加密 使用您自己的映射器名称。

$ df -h
$ cd /encrypted
$ ls -l

在 Linux 上成功加密设备

所以我们使用 LUKS 在 Linux 上成功创建了一个加密分区。

[ad_2]

Related Posts