解包密码并插入用户会话密钥环失败

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的帮助下,我昨天按照这些精确的步骤成功访问了加密的主文件夹。 这certificate我的密码确实有效。
  • 然后我启动机器从旧的加密主文件夹复制到新的未加密的主文件夹,然后上床睡觉。 当我回到计算机时,我看到它已经自行暂停:(并且还没有完成复制文件夹。
  • 我重新启动计算机,并删除临时/恢复文件夹,然后再次执行完全相同的步骤,但这是我遇到上面给出的错误。 我试了好几次; 总是一样的结果。 我绝对相信我正在输入密码正确。

更新日期: 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 

在谷歌搜索了大约一个小时后,我想我会尝试一个我知道不好的密码,所以我在Passphrase提示下输入了密码。

以下是吐出来的:

 116b053e08564b53b2967e64e509bdc5 

我重新使用ecryptfs-unwrap-passphrase并尝试使用不同的密码并收到与上面列出的相同的-5错误消息。 事实certificate我实际上已经将密码设置为密码 ,可能是因为我过去在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之间使用它。

如果您只是找到此线程,除非您专门使用密码作为密码短语,否则这些hex值将不起作用。

这是尝试自己修复它:

  1. Dustin Kirkland 在2008年写道 :

    […]你试图用错误的登录密码打开mount密码。 您可以尝试使用当前密码和新密码,也可以尝试使用其他任何密码。 当您可以成功解开mount密码时,您应该能够执行mount。

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

  3. 这个类似的问题可能值得一试: 尝试安装旧的加密家庭

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

……随着时间的推移更新!

如果密码不起作用(发生在我身上,虽然我没有改变它),使用备用密码来访问帮助了我。 我刚回答是否我知道密码并输入我收到的32长hex数,并在初次启动时写下来。

这有时比猜测更容易。

如果它可以提供任何帮助,当我遇到类似的问题(在解密主目录时代码-5 ),我发现.ecryptfs.ecryptfs下的一些文件不是我的用户帐户所有,而是root用户。

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

因此,当我用我的用户帐户运行ecryptfs-mount-private时,它将失败,因为读取和写入某些文件(即.ecryptfs/wrapped-passphrase )被拒绝。

我通过运行sudo chown -R USER:USER /home/USER/.ecryptfs /home/USER/.Private解决了我的问题。 用您的实际帐户名替换USER 。 因人而异