解开密码短语并插入用户会话密钥环失败


15

在命令中输入正确的密码后ecryptfs-mount-private,出现此错误:

torben@torben-nettop:~$ sudo ecryptfs-recover-private
INFO: Searching for encrypted private directories (this might take a while)...
INFO: Found [/media/0f417b42-11a0-4539-9cae-e11ce3b289c3/home/.ecryptfs/
  torben/.Private].
Try to recover this directory? [Y/n]: y
INFO: Enter your LOGIN passphrase...
Passphrase: 
Error: Unwrapping passphrase and inserting into the user session keyring
  failed [-5]
Info: Check the system log for more information from libecryptfs
torben@torben-nettop:~$ 

Syslog具有以下信息:

ecryptfs-insert-wrapped-passphrase-into-keyring:  
  Incorrect wrapping key for file [/home/torben/.ecryptfs/wrapped-passphrase]  
ecryptfs-insert-wrapped-passphrase-into-keyring: Error attempting to unwrap
  passphrase from file [/home/torben/.ecryptfs/wrapped-passphrase]; rc = [-5]

->鉴于我绝对可以确定输入的密码正确,该如何解决此问题以便读取加密的主文件夹?

一些背景:

  • 我已经在新驱动器上安装了Ubuntu 11.04,我想从已加密的旧驱动器复制主文件夹(我有密码)。
  • 昨天,在Marco Ceppi的帮助下,我遵循了这些精确的步骤,并成功访问了加密的主文件夹。这证明我的密码确实有效。
  • 然后,我启动了从旧的加密主文件夹复制到新的未加密主文件夹的机器,然后上床睡觉。当我回到计算机时,我看到它已经挂起了:(并且还没有完成文件夹的复制。
  • 我重新启动了计算机,并删除了临时的/ recovery文件夹,然后再次按照完全相同的步骤进行操作,但这是在遇到上面给出的错误时。我尝试了几次;总是一样的结果。我绝对确定我输入的密码正确。

我不熟悉此领域-因此评论不是答案-您是否尝试过此链接中“ 1awsomeguy”的步骤? ubuntuforums.org/archive/index.php/t-1471961.html
fossfreedom

该论坛帖子提到了不再有效的说明。指导网页上明确指出要改用新工具,这是我在上面的问题中尝试使用的工具。唯一的区别是,我不是从USB“ LiveCD”启动,而是在本地运行,因为所讨论的加密文件夹不是本地,而是在外部磁盘上。
Torben Gundtofte-Bruun 2011年

可能是一种快速的方法-您是否尝试过直接与ecryptfs开发人员联系?以下是他的联系人:launchpad.net/~kirkland 他似乎很友善。向他发送指向该问题的链接可能会使他感到好奇,因为它非常具体并且仍未得到答复。
Strapakowsky 2011年

@strapa-好主意!我确实在启动板上发送了一个问题,但省略了此网页。那可能行得通!
Torben Gundtofte-Bruun

1
显然没有人知道此错误消息的含义……这对我的代表毫无用处!:'-(
Torben Gundtofte-Bruun 2011年

Answers:


13

更新日期:2018年6月19日

摘要

尝试从外部驱动器解密某些数据时,我最近遇到了类似的错误。每当错误消息来自无效密码时,我就可以整天重复此操作。取而代之的是使用ecryptfs-recover-private,而是使用ecryptfs-unwrap-passphrase,我认为它适用于特定数据,尽管我不想查找差异。

注意:这不是复制/粘贴指南,而是更多关于我成功的记录。

解开密码

您需要找到您的wrapped-passphrase文件。如果您不确定它在哪里,可以使用find。装入卷后,您可以执行以下操作:

sudo find /media -name wrapped-passphrase

您将要用返回的路径替换下面列出的路径。

安装旧驱动器后的步骤。

cd /media/_UUID_/.ecryptfs/paulj/.encryptfs
ecryptfs-unwrap-passphrase ./wrapped-passphrase
Passphrase:

它将始终提示您输入密码,这是在安装Ubuntu时创建加密主目录时最初设置的密码。在设置中,强烈建议您使用与登录密码不同的密码...如果您在过去一小时内一直尝试登录密码而失败,请尝试其他密码..尝试使用一个很少使用的密码。

我忘记了我的名字,我尝试了所有超级棒的密码,但不断收到以下错误消息:

Error: Unwrapping passphrase failed [-5]
Info: Check the system log for more information from libecryptfs

在Google搜索了大约一个小时后,我认为我会尝试使用一个我知道不正确的密码,因此我在密码短语提示中输入了密码。

吐出以下内容:

116b053e08564b53b2967e64e509bdc5

我重新运行了ecryptfs-unwrap-passphrase并尝试了一个不同的密码,并收到了与上面列出的相同的-5错误消息。事实证明,我实际上已将密码设置为password,这可能是由于我过去对ubuntu中的数据解密感到沮丧。

将密码短语添加到键控

将密码短语添加到中ecryptfs-add-passphrase,使用上一步中生成的密码短语。

sudo ecryptfs-add-passphrase --fnek
Passphrase: 116b053e08564b53b2967e64e509bdc5

输出:

Inserted auth tok with sig [b69fed2a22932ba4] into the user session keyring
Inserted auth tok with sig [8aad0fb4482edab3] into the user session keyring

挂载或恢复

此时,您有两个选择,我建议尝试安装,然后,如果无法安装,请尝试恢复。

安装驱动器

容易将.Private目录视为已卸载的卷。

再次在这里,您需要指定自己的目录。

sudo mkdir -p /home/paulj/Private
sudo mount -t ecryptfs /media/_UUID_/.ecryptfs/paulj/.Private /home/paulj/Private

Passphrase: 116b053e08564b53b2967e64e509bdc5
Select cipher: 
 1) aes: blocksize = 16; min keysize = 16; max keysize = 32 (loaded)
 2) blowfish: blocksize = 16; min keysize = 16; max keysize = 56 (not loaded)
 3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24 (not loaded)
 4) cast6: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
 5) cast5: blocksize = 8; min keysize = 5; max keysize = 16 (not loaded)
Selection [aes]: aes

Select key bytes: 
 1) 16
 2) 32
 3) 24
Selection [16]: 16

Enable plaintext passthrough (y/n) [n]: n

Enable filename encryption (y/n) [n]: y <-- If your filenames display oddly, toggle this to y or n.

{this is the second value from Inserted auth tok...}
Filename Encryption Key (FNEK) Signature: 8aad0fb4482edab3

Attempting to mount with the following options:
  ecryptfs_unlink_sigs
  ecryptfs_fnek_sig=8aad0fb4482edab3
  ecryptfs_key_bytes=16
  ecryptfs_cipher=aes
  ecryptfs_sig=b69fed2a22932ba4
Mounted eCryptfs

希望当您最初创建加密驱动器时,不会弄乱密码或密钥字节。

显示我的旧主目录中的所有数据。

cd /home/paulj/Private
ls -la

注意:此时,如果您获得无效的权限/所有者/组集,则需要卸载驱动器并跳至“恢复”部分。

如果您获得了良好的权限设置,则可以将该垃圾从加密的驱动器中复制到桌面。

mkdir ~/Desktop/Backup
cp -Rv ./* ~/Desktop/Backup

恢复

我发现无法成功挂载我的ecryptfs。ls显示的权限/所有者/组设置无效。它看起来像以下内容:

total ??
d????-??-?  ?? ??      ??      ??   ??            .
d????-??-?   6 root    root    4.0K Jun 19 11:42  ..
d???------  ?? ??      ??      ??   ??            .aptitude
d????-??-?  ?? ??      ??      ??   ??            .autoenv
-??-?--?--  ?? ??      ??      ??   ??            .autoenv_authorized
d????-??-?  ?? ??      ??      ??   ??            .aws
-??-?--?--  ?? ??      ??      ??   ??            .bash_aliases
-??-------  ?? ??      ??      ??   ??            .bash_history
-??-?--?--  ?? ??      ??      ??   ??            .bash_logout
-??-?--?--  ?? ??      ??      ??   ??            .bashrc
d????-??-?  ?? ??      ??      ??   ??            bin
d????-??-?  ?? ??      ??      ??   ??            .cache
d????-??-?  ?? ??      ??      ??   ??            code
d????-??-?  ?? ??      ??      ??   ??            .config

我不确定为什么我会因使用问题而mount陷入困境,所以我开始四处摸索ecryptfs-recover-private并感到有些运气。

同样,您将不得不使用自己生成的密码短语。请注意,我在--rw这里使用了开关来使读/写挂载,如果省略该开关,它将以只读方式挂载。

sudo ecryptfs-recover-private --rw /media/_UUID_/.ecryptfs/paulj/.Private

INFO: Found [/media/_UUID_/.ecryptfs/paulj/.Private].
Try to recover this directory? [Y/n]: Y
INFO: Found your wrapped-passphrase
Do you know your LOGIN passphrase? [Y/n] Y
INFO: Enter your LOGIN passphrase...
Passphrase: 116b053e08564b53b2967e64e509bdc5
Inserted auth tok with sig [b69fed2a22932ba4] into the user session keyring
INFO: Success!  Private data mounted at [/tmp/ecryptfs.idv9OohY].

tmp它输出的路径将包含您的加密安装。

ls -la /tmp/ecryptfs.idv9OohY

这应该显示具有正确权限集的完整路径。现在将其复制到某个地方。

mkdir ~/Desktop/Recovered
sudo cp -Rv /tmp/ecryptfs.idv9OohY ~/Desktop/Recovered

收盘时

祝好运!!

您应该能够在Ubuntu的任何变体中使用它,例如,我在Ubuntu与Mint和Lubuntu之间以及之间使用了它。

如果您只是在查找此线程,除非您专门使用密码作为密码短语,否则这些十六进制值将不起作用。


3
我将接受此答案,因为它似乎包含确切的解决方案。我的密码实际上不是“密码”,因此我的密钥会有所不同。las,由于我放弃寻找解决方案,因此驱动器已格式化,因此它与我不再有太大关系。而且我已经学会了无缘无故地不加密我的主驱动器:-)
Torben Gundtofte-Bruun

2
@paulj您已获得驴救主徽章。
robertodecurnex 2014年

1
@robertodecurnex-乐于助人,我已经完全放弃了Ubuntu,因为它一直在以某种方式困扰我。我坚持使用Mint Desktop,有时还使用CENTOS服务器。
保罗J

1
我遇到了同样的情况,并且在添加密码后可以挂载它,但是现在我只能看到ECRYPTFS_FNEK_ENCRYPTED ...文件。有没有办法获取未加密的文件?
罗曼·纽瓦萨

1
@paulj谢谢!即使我的情况不同(我认为),此步骤也对我完全有效。我/home在Linux Mint中进行了加密,并按照您的建议使用了Debian live usb棒。我在其他地方已经找到了类似的答案,但是最后总是总是遇到一个奇怪的错误。您要做的一件事是sudo mkdir -p /home/paulj/Private。现在,我知道该错误与权限相关。
marcelocra

4

这是我自己修复的尝试:

  1. 达斯汀·柯克兰 Dustin Kirkland )在2008年写道

    [...]您正在尝试使用错误的登录密码解开挂载密码。您可以尝试使用当前密码和新密码,也可以尝试使用其他任何密码。当您可以成功解开挂载密码时,您应该能够执行挂载。

  2. 新系统的登录用户名和登录密码与旧系统的相同。我已经写下了密码,而且我知道它是正确的(请参阅问题中的证明)。

  3. 类似的问题可能值得检查:尝试挂载旧的加密家庭

  4. 另外,新系统上的某些内容可能无法正常工作。要排除这种情况,请在LiveCD上引导,然后从那里尝试。

...随着我的前进而更新!


0

如果密码不起作用(虽然我没有更改过密码),这对我来说是有用的,那么使用备份密码短语可以帮助我。我只是回答“是否知道密码”,然后输入我在初次启动时收到并记下的32位十六进制数字。

有时这可能比猜测容易。


0

如果它可以是任何帮助,而我是(代码面临着类似的问题,-5主目录的解密过程中),我发现了一些文件下.ecryptfs.Private没有被我的用户帐户拥有,而是由根。

发生这种情况是因为我ecryptfs-rewrap-passphrase以root身份运行,因此将重要文件从我自己的帐户中锁定了。

因此,当我ecryptfs-mount-private使用用户帐户运行时,由于拒绝读写某些文件(即.ecryptfs/wrapped-passphrase)而失败。

我通过跑步解决了问题sudo chown -R USER:USER /home/USER/.ecryptfs /home/USER/.Private。替换USER为您的实际帐户名。青年汽车

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.