更新日期: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之间以及之间使用了它。
如果您只是在查找此线程,除非您专门使用密码作为密码短语,否则这些十六进制值将不起作用。