为什么 ecryptfs 仅通过 ssh 安装私人主目录?

为什么 ecryptfs 仅通过 ssh 安装私人主目录?

标题说明了一切;如果我通过 SSH 登录,我的 12.04 服务器盒将仅解密和挂载我的主目录。昨晚我需要从我的服务器上获取一些数据,但我把装有私钥的笔记本电脑留在了工作的地方。我直接在服务器盒上登录,令我惊讶的是,我的主目录是空的。

通过阅读相关内容,我了解了 eCryptfs 的工作原理及其目录结构。果然,我在主文件夹中找到了隐藏的 .ecryptfs 和 .private 目录。.private 文件夹似乎包含正确数量的文件和目录,但它们的名称显然被加密所混淆。但是,无论我怎么尝试,我都无法挂载该目录。我尝试了:

  • 手动调用“ecryptfs-mount-private”
  • 使用“sudo”几次以确保已提供密码
  • 在 .profile 末尾添加“ecryptfs-mount-private”
  • 尝试了“ecryptfs-recover-private”,它找到了我的加密主目录,但当在 /tmp 上安装为 RO 时,它是空的

几个小时后,我发现我的文件不知怎么被损坏并丢失了。那里没有存储任何非常重要的文件,所以损失不大,但还是很烦人。

今天早上我上班,凭直觉通过 SSH 登录到我家里的服务器。果然,我的文件在那里,完好无损。换句话说,ecryptfs 只是通过 SSH 安装我的加密主页。

这似乎与我发现的问题完全相反;大多数人通过 SSH 登录,然后想知道为什么他们的文件不在那里。除了在 /etc/ssh/[user] 中存储“authorized_keys”以便 sshd 可以读取它之外,我没有做任何疯狂的配置。这个框最初是在 11.10 上设置的,在安装过程中我选择了加密主目录。最近更新到 12.04 似乎进展顺利,我没有发现任何问题。

sshd 当前设置为:

  • SSH 协议 2
  • aes256-ctr 加密
  • ecdh-sha2-nistp521 密钥交换
  • hmac-sha2-512消息认证
  • 用于服务器和客户端的 521 位 ecdsa 密钥
  • 密码登录已禁用
  • 禁用所有类型的转发/隧道
  • 禁用 PAM

我无法详细说明我的 eCryptfs 设置,因为我没有在那里更改任何内容;加密是使用 Ubuntu 安装实施的默认设置设置的。有什么想法吗?

答案1

我上面的评论是正确的答案。显然,把所有内容写出来然后阅读它让我的脑子里突然有了点想法。如果其他人也遇到类似的问题,请检查分别使用“ecryptfs-mount-private”和“ecryptfs-umount-private”安装和卸载私人文件夹时会发生什么。每个都应该反映在您的主目录中显示的文件的变化。根据 ecryptfs 的提示,您需要 cd 到 /home/my_user 才能看到反映的变化。

就我而言,为了“解决”这个问题,我需要:

  • 正常通过 SSH 登录
  • 将“~”的所有内容复制到另一个位置
  • 编辑 '~/.profile' 在末尾添加 'ecryptfs-mount-private'(SSH 登录成功后提示输入密码以解密主页)
  • 使用“ecryptfs-mount-private”挂载加密主目录
  • 将目录更改为主目录,即使它是当前目录(cd /home/my_user)
  • 将文件复制回主目录
  • 利润!

相关内容