ecryptfs-recover-private的问题:mount(2)失败


11

我正在将操作系统和数据从同一台计算机上的一个驱动器移动到另一个驱动器。(我有一个不错的新SSD)。我的旧主目录中有一个加密的子目录,我想从新安装的目录中访问该加密目录。我正在尝试使用ecryptfs-recover-private。但是,我遇到以下错误。

$ sudo ecryptfs-recover-private /BLAH/.Private
INFO: Found [.Private/].
Try to recover this directory? [Y/n]: 
INFO: Found your wrapped-passphrase
Do you know your LOGIN passphrase? [Y/n] 
INFO: Enter your LOGIN passphrase...
Passphrase: 
Inserted auth tok with sig [BLAH] into the user session keyring
mount: mount(2) failed: No such file or directory
ERROR: Failed to mount private data at [/tmp/ecryptfs.NcWkVmQ5].

如果让我ecryptfs-recover-private自己查找目录,或者我对登录密码说不,但改用安装密码,则会遇到相同的问题。

有什么想法吗?

(我知道此站点上有几个类似的问题,但似乎没有一个问题能完全解决我的情况。)

Answers:


5

因此,这个简单的命令ecryptfs-recover-private被证明是不可靠的。上面的方法都不适合我,试图从ecryptfs迁移到LUKS容器。

起作用的是ubuntu社区Wiki中描述的手动方法

详细:

# sudo -i
# ecryptfs-add-passphrase --fnek 
Inserted auth tok with sig [aaaaaaaaaaaaa] into the user session keyring 
Inserted auth tok with sig [bbbbbbbbbbbbb] into the user session keyring  
# mkdir -p /mnt/new_mount_point  
# mount -t ecryptfs /mnt/old_mount_point/home/username/.Private /mnt/new_mount_point
  • 选择3(使用密码短语密钥类型,然后使用恢复的密码短语又称为未包装的密码短语)
  • 选择AES(使用AES密码)
  • 选择16(使用16字节密钥)
  • 启用纯文本直通:n
  • 启用文件名加密:y

2
这对我有用,但是在文件名加密之后还有一个最后的问题,它要求使用FNEK签名,默认为的输出中的第一个auth tok ecryptfs-add-passphrase --fnek。我发现我不得不改用第二个。
darrend

这个。对我而言唯一有效的方法是打开上面链接的ubuntu社区Wiki,然后按照说明进行操作。
fdierre '19

这对我有用!如您所指示,我直接按照“手动恢复数据”中的说明进行操作,位于help.ubuntu.com/community/…。只要记住,如果您还需要遵循“恢复安装密码”一节sudo,即使他们没有提及,也需要使用。即:代替ecryptfs-unwrap-passphrase /home/username/.ecryptfs/wrapped-passphrase,做sudo ecryptfs-unwrap-passphrase /home/.ecryptfs/username/.ecryptfs/wrapped-passphrase(注意我使用的路径略有不同)。
加布里埃尔·斯台普斯

到今天为止,该解决方案似乎还不完整。至少还有一个问题:Filename Encryption Key (FNEK) Signature [XYZ]:我不知道这个签名是什么... @ Martin的解决方案(askubuntu.com/a/679565/924202)为我做到了。:-)
breversa

5

我不确定为什么会发生这种情况-也许在新设置中使用与尝试恢复时相同的登录密码时,内核密钥环中的错误。

也就是说,在尝试恢复文件系统之前将包装的密码短语添加到内核密钥环中是可行的(请确保sudo在下面的两个命令中都使用):

sudo ecryptfs-insert-wrapped-passphrase-into-keyring /BLAH/.ecryptfs/wrapped-passphrase
sudo ecryptfs-recover-private /BLAH/.Private

谢谢!这对我
有用

sudo第一个命令也是必需的(ecryptfs-insert-wrapped-passphrase-into-keyring),否则我得到以下错误!Error: Unwrapping passphrase and inserting into the user session keyring failed [-5] Info: Check the system log for more information from libecryptfs
加布里埃尔·斯台普斯

1
...但是很不幸,第二个命令(sudo ecryptfs-recover-private /BLAH/.Private)对我来说还是失败。:(mount: /tmp/ecryptfs.aLkDeiWo: mount(2) system call failed: No such file or directory. ERROR: Failed to mount private data at [/tmp/ecryptfs.aLkDeiWo].
加布里埃尔·斯台普斯

这也为我工作。显然,自2018年以来,有一个未解决的漏洞,但有一个漏洞修复程序,但仍未得到纠正:bugs.launchpad.net/ecryptfs/+bug/1769373
breversa

2

我目前正在使用debian测试,最近需要从加密的.Private文件夹的备份中恢复文件。备份存储在我的NAS中。我遇到了与您相同的问题。手动插入包装的密码短语无济于事,并且通过root手动挂载cifs文件系统(从我的NAS),而不是作为我的主要用户创建挂载(以防止发生右冲突等)也无济于事。

但是,在简单地重新引导系统后,我可以直接使用ecryptfs-recover-private命令安装.Private文件夹,该文件夹本身位于cifs文件系统上。

尽管这并不能解释问题所在,但是它是作为Linux用户可以获得的更令人沮丧的提示之一:

重新启动系统,然后重试:)


啊,这本书里最古老的把戏!很高兴知道。
lnmaurer 2015年

0

将先前的(原始)POSIX用户名重命名为old_user(和),然后使用原始的(先前的用户名)名称创建了一个新用户后,我遇到了类似的错误。

为了能够从old_user挂载加密的主目录,我必须在其文件夹中重新建立.encryptfs和.Private的符号链接(因为它们已定位到/ home / original_name /)。

之后,以下命令可以毫无问题地挂载旧房屋。/ usr / bin / ecryptfs-recover-private /home/old_user/.Private


我认为我有一个非常相似的问题,但是不确定您是如何解决的...您介意看看我的新帖子吗?谢谢!askubuntu.com/questions/1035424/…–
Matifou

嗨Matifou!尝试执行ecryptfs-recover-private /home/.ecryptfs/old_user/.Private之后,您的系统日志中有什么?
Yaroslav Fedorina

嘿! 如果密钥存在问题(请参阅dmesg或syslog),例如,找不到描述如下的密钥:[XXX] process_request_key_err:无密钥在用户会话密钥环中找不到在挂载选项[XXX]中指定的sig的有效密钥,尝试手动添加密码:/ usr / bin / ecryptfs-manager中的选项“ 1”这对我有所帮助。
Yaroslav Fedorina
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.