在命令中输入正确的密码后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 在聊天中, 我跟着这些精确的步骤昨天成功访问了加密的主文件夹。这证明我的密码确实有效。
- 然后我启动计算机,将旧的加密主文件夹复制到新的未加密主文件夹,然后就去睡觉了。当我回到电脑前时,我发现它已经挂起 :( 并且还没有完成文件夹的复制。
- 我重新启动了计算机,并删除了临时/恢复文件夹,然后再次按照完全相同的步骤操作,但此时我遇到了上述错误。我尝试了几次;结果总是一样。我绝对确定我输入的密码是正确的。
答案1
更新:2018 年 6 月 19 日
概括
我最近在尝试解密外部驱动器中的某些数据时遇到了类似的错误。每次错误消息来自无效密码,我都可以整天重复此操作。相反,使用ecryptfs-恢复-私有我正在使用ecryptfs-解包-密码,我认为这是针对特定数据的,尽管我不想查找差异。
笔记:这不是一份复制/粘贴的指南,而是我成功的记录。
解开密码
您需要找到您的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
在谷歌上搜索了大约一个小时后,我想我应该尝试一个我知道很糟糕的密码,所以我输入了密码在密码提示符下。
以下内容被吐出:
116b053e08564b53b2967e64e509bdc5
我重新运行 ecryptfs-unwrap-passphrase 并尝试了不同的密码,并收到了与上面列出的相同的 -5 错误消息。事实证明,我实际上将密码设置为密码,可能是因为我过去在 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 之间使用过它。
如果你刚刚找到这个线程,除非你专门使用密码作为您的密码,这些十六进制值将不起作用。
答案2
这是我自己尝试修复的:
达斯汀·柯克兰写于 2008 年:
[...] 您尝试使用错误的登录密码来解开挂载密码。您可以尝试当前密码和新密码,或者您可能使用过的任何其他密码。当您能够成功解开挂载密码时,您应该能够执行挂载。
新系统的登录用户名和登录密码与旧系统完全相同。有写下密码并且我知道它是正确的(请参阅我的问题中的证明)。
这个类似的问题可能值得检查一下:尝试安装旧的加密主页
此外,新系统上的某些功能可能无法正常工作。要排除此问题,请启动 LiveCD 并从那里尝试。
...随着我的进展不断更新!
答案3
如果密码不起作用(我遇到过这种情况,尽管我没有更改密码),使用备份密码进行访问对我有帮助。我只是回答“我是否知道我的密码”,然后输入我在初始启动时收到并记下的 32 位长十六进制数字。
有时这可能比猜测更容易。
答案4
如果它能有任何帮助,当我遇到类似的问题(-5
主目录解密期间的代码)时,我发现下面的一些文件.ecryptfs
不.Private
属于我的用户帐户,而属于 root。
发生这种情况是因为我ecryptfs-rewrap-passphrase
以 root 身份运行,因此它将重要文件锁定在我的帐户之外。
因此,当我ecryptfs-mount-private
使用我的用户帐户运行时,它会失败,因为对某些文件(即)的读写.ecryptfs/wrapped-passphrase
被拒绝。
我通过运行解决了我的问题sudo chown -R USER:USER /home/USER/.ecryptfs /home/USER/.Private
。替换USER
为您的实际帐户名称。YMMV