如何在 Linux 中创建受密码保护的虚拟硬盘?

如何在 Linux 中创建受密码保护的虚拟硬盘?

我在 Virtual Box 中安装了 Ubuntu 服务器 20.4。我想制作一个虚拟硬盘。因此,我制作了一个用于保存虚拟驱动器卷的映像,并使用这些命令格式化了映像文件中的 EXT4 文件系统类型。

  • sudo dd if=/dev/zero of=VHD.img bs=1M count=1200
  • mkfs -t ext4 VHD.img

之后,我用这个将映像文件挂载到/mnt目录中。

  • mount -t 自动 -o 循环 VHD.img /mnt

这是命令的输出df -HT

udev                              devtmpfs  469M     0  469M   0% /dev
tmpfs                             tmpfs     103M  1.1M  102M   2% /run
/dev/mapper/ubuntu--vg-ubuntu--lv ext4       22G  5.6G   15G  29% /
tmpfs                             tmpfs     515M  1.2M  514M   1% /dev/shm
tmpfs                             tmpfs     5.3M     0  5.3M   0% /run/lock
tmpfs                             tmpfs     515M     0  515M   0% /sys/fs/cgroup
/dev/loop0                        squashfs   74M   74M     0 100% /snap/lxd/21029
/dev/loop1                        squashfs   59M   59M     0 100% /snap/core18/2128
/dev/loop3                        squashfs   34M   34M     0 100% /snap/snapd/12883
/dev/loop2                        squashfs   34M   34M     0 100% /snap/snapd/12704
/dev/sda2                         ext4      1.1G  112M  842M  12% /boot
/dev/loop4                        ext4      482M  775k  445M   1% /mnt   # Image I mounted

现在我可以访问 /mnt 目录并使用它。但我希望这个驱动器用密码加密。这意味着当用户(甚至是 root)尝试挂载它时,a password must be specified in order to mount映像。我的最终目标是拥有一个用密码加密的映像文件,大小超过 400MB。

答案1

一个简单的解决方案是使用免费的开源 VeraCrypt

它支持全盘加密,也支持加密容器。容器看起来像一个需要密码才能挂载的文件,因此可以跨平台使用(为此选择跨平台文件系统格式)。

您会在 VeraCrypt 网站上找到文档,但在互联网上也会找到许多文章。

答案2

实际上,对我来说,使用 LUCKS 效果最好。我找到了这篇文章,它可以指导您完成整个过程。

http://freesoftwaremagazine.com/articles/create_encrypted_disk_image_gnulinux/

我采用的步骤如下:

  • 首先创建一个空图像。fallocate -l 512M enc.iso
  • 然后用cryptsetup对其进行加密。cryptsetup -y luksFormat enc.iso

相关内容