如何在另一台 Ubuntu 机器上挂载加密的 /home 目录?

Naf*_*Kay 45 encryption usb-drive ecryptfs 12.04 decryption

我做了一些事情,嗯,很奇怪。我将 Ubuntu 12.04 直接安装到 USB 拇指棒上,在安装过程中按照给定的选项加密 /home 目录。我相信文件系统是 btrfs。

我现在已经将它粘贴到运行 Ubuntu 的计算机中,并且我想将文件复制到 U 盘上。如何挂载加密的主目录,以便将文件复制到其中?

Sep*_*älä 62

您可以使用ecryptfs-recover-private.

ecryptfs-recover-private /media/<UUID>/home/.ecryptfs/<USERNAME>/.Private
Run Code Online (Sandbox Code Playgroud)

它将提示输入挂载密码,解锁包装密码并/tmp/使用单个命令以只读模式挂载目录。使用该标志--rw将加密的文件系统挂载为读写。

您可以查看手册页以获取更多信息。

  • 不知道为什么这不被接受的答案。它快了很多。 (8认同)
  • 但是,当我运行该命令时,它坚持以“root”身份运行它 (4认同)
  • 标志是带有双破折号的`--rw`。如果出现 mount(2) 错误,请先运行 `sudo ecryptfs-manager` 并立即退出 (4)。然后重复上面的挂载命令 (4认同)
  • 哈哈。别介意我之前的建议。最好按照 *ulkas* 所说的去做:运行 `sudo ecryptfs-manager` 并选择 `4。退出`而不做任何其他事情。这具有令人惊讶的副作用,使事情发挥作用。 (3认同)
  • @Kai 因为这个答案是三年后出现的...... (2认同)
  • 虽然这个问题被标记为 12.04,但它适用于 17.04。 (2认同)

qbi*_*qbi 44

注意: 这个答案是正确的,但存在另一种更新更快的方法,只需使用ecryptfs-recover-private. 请务必检查以下所有答案。


要访问您的记忆棒上的数据并将文件复制到上面,您需要安装 eCryptfs。这包括几个步骤:

首先你应该插入你的手杖。如果 Ubuntu 没有自动挂载它(通常会。),你应该挂载它。

现在您应该找到一个名为.Private. 如果您进行了默认安装,则此目录应位于/media/DISK/home/.ecryptfs/USERNAME/.Private. 在这个例子中DISK是你的棒安装的目录,是USERNAME你在安装时输入的用户名。如果您自己找不到,请打开终端并输入

sudo find /media -type d -name .Private
Run Code Online (Sandbox Code Playgroud)

我假设在以下步骤中目录位于/media/DISK/home/.ecryptfs/USERNAME/.Private.

您需要安装密码。这与您的登录密码不同。在终端中输入以下命令:

ecryptfs-unwrap-passphrase /media/DISK/home/.ecryptfs/USERNAME/.ecryptfs/wrapped-passphrase
Run Code Online (Sandbox Code Playgroud)

您必须输入 USB-Ubuntu 安装时的登录密码(不是您常用的密码)。该命令输出密码。把它写下来或复制到一个文件中。

密码使您可以解锁目录。您需要分两步完成:

> sudo ecryptfs-add-passphrase --fnek
Inserted auth tok with sig [123456789abcdef0] into the user session keyring
> sudo mount -t ecryptfs /media/DISK/home/.ecryptfs/USERNAME/.Private /media/myUSB
Run Code Online (Sandbox Code Playgroud)

第一个命令将您的密码短语添加到内核密钥环,第二个命令尝试将您的密码安装.Private到目录中/media/myUSB。如果拿铁不存在,您必须先创建它:

sudo mkdir /media/myUSB
Run Code Online (Sandbox Code Playgroud)

mount命令将再次询问登录密码。接下来它会要求一堆东西。

  • 接受默认的密码和密钥大小值(aes16)。
  • 键入n的明文直通。
  • y用于文件名加密的类型。
  • 最后一件事是文件名加密密钥 (FNEK)。查看ecryptfs-add-passphrase --fnek您刚刚键入的命令的输出。有两行以Inserted auth tok …. 在第二个输出 ( 123456789abcdef0) 的方括号中插入值。

现在,您可以访问/media/myUSB该目录或子目录中的文件,也可以从该目录或子目录复制和复制该文件。

我的大部分描述来自“打开加密主目录的 Live CD 方法”。

  • 谢谢。有三件事让我觉得可能对其他人有帮助:1) 我需要 `sudo ecryptfs-add-passphrase --fnek`,注意 *sudo* 2) `ecryptfs-add-passphrase` 想要解开的十六进制短语,但 ` mount` 使用“登录”密码 3)我需要在卸载后重做 `ecryptfs-add-passphrase` (4认同)

Pio*_*otr 6

我有类似的问题并到此结束。我正在将我的系统迁移到另一个硬盘驱动器,并且在旧系统和新系统上都有相同的用户加密家庭。

我试过

ecryptfs-recover-private /media/old_disk/home/my_name/.Private
Run Code Online (Sandbox Code Playgroud)

但该目录实际上是到的符号链接

/home/.ecryptfs/my_name/.Private/
Run Code Online (Sandbox Code Playgroud)

目标目录存在,但指向我的新磁盘上的.Private 。

正确的命令应该是:

ecryptfs-recover-private /media/old_disk/home/.ecryptfs/my_name/.Private

如果 ecryptfs-recover-private 检测到这种模式,可能会显示警告。它看起来像一个常见的错误。