如何将加密/家庭移动到新计算机?

嗨,我有一个新笔记本,我想将我的家庭数据移动到新计算机。

我认为有多种方法可以做到这一点

  • 将所有内容复制到外部硬盘并在新计算机上移回
  • 做一个Deja-Dup备份,然后在新计算机上恢复
  • rsyc /通过sshfs移动到新计算机
  • …?

我的问题是如何保持/ home的当前ecrypt加密并使其在新计算机上正常工作。 我如何安装新计算机,以便我可以使用旧的加密主页文件?

如果我会使用Deja-Dup,我是否需要担心旧机器上的ecrypt东西,或者新安装是否只是简单地将所有内容都包括在内?

好问题! 我实际上经常这样做(每隔几个月)。 为此,我使用rsync将所有 /home分区/目录从OLD机器复制到新机器。

首先,确保在NEW计算机上安装并运行openssh-serverecryptfs-utils

 sudo apt-get install openssh-server ecryptfs-utils 

您可以在root用户的/root/.ssh/authorized_keys文件中安装公共SSH密钥。 但我通常在新机器上设置root密码。

 sudo passwd 

此外,在NEW计算机上,创建一个新用户,其名称和密码与旧计算机上的名称和密码精确匹配。

 sudo adduser YOURUSER 

absolutley确保YOURUSER当前没有登录到新机器或旧机器。

现在,从OLD机器,以root身份,将您的/home目录从OLD rsync到NEW机器:

 sudo rsync -aP /home/ NEW:/home/ 

最后,确保新机器上的文件归YOURUSER所有:

 sudo chown -R /home/.ecryptfs/YOURUSER /home/YOURUSER 

这应该做到! 您应该可以正常登录新机器并读取和写入数据!

完全披露:我是Ubuntu的加密主目录function的作者和维护者。

我最近不得不做一个类似的任务,我发现达斯汀的答案非常有用。

我的方案是我将安装从一个磁盘移动到另一个磁盘。 我的安装有一个用户(让她称之为“偏执狂”)与加密的主目录,我想迁移这个用户,以便他们可以登录我的新安装。

我将在附录中详细介绍我如何完成这一过程。

但最重要的是我让我的系统到了一个旧的安装和一个新的安装共享相同的/ home分区。 / home / admin是我新安装的admin用户的主目录。 并且/ home / paranoid是我旧安装中偏执用户的主目录。

/ home / paranoid已加密。 它有以下内容:

/家庭/偏执#LS

Access-Your-Private-Data.desktop – > /usr/share/ecryptfs-utils/ecryptfs-mount-private.desktop .ecryptfs – > /home/.ecryptfs/paranoid/.ecryptfs

.kde

。本地

.Private – > /home/.ecryptfs/paranoid/.Private

README.txt – > /usr/share/ecryptfs-utils/ecryptfs-mount-private.txt

加密家庭的所有魔力实际上发生在/home/.ecryptfs/中为用户命名的文件夹中

在我的例子中:

/home/.ecryptfs/paranoid#ls -la

.ecryptfs

。私人的

所有用户的实际文件都以加密方式存储

/home/.ecryptfs/paranoid/.Private

并且配置数据在

/home/.ecryptfs/paranoid/.ecryptfs

看来,迁移用户所需要做的就是设计一种情况:

  1. 新安装具有相同名称的用户,在旧安装中具有与用户相同的密码。
  2. 新安装上的/ home文件夹有/home/.ecryptfs/ paranoid /和/ home / paranoid /的副本
  3. 这两个目录中的文件都由用户偏执地拥有
  4. 已安装ecryptfs-utils

我们需要1)因为文件是在用户密码解锁的远程加密。 因此新安装上的密码必须相同,以便它可以解密文件。

我们设置2)以便用户的目录结构在新安装上与旧版本相同

我们需要3)这样的情况,以便用户对他们家中的文件具有读写权限。

我们需要4)以便系统可以解密文件系统文件。

如何实现这个目标:

  1. 以“admin”登录新安装并从现有安装主分区挂载主页时将/ home / paraniod文件夹重命名为paranoid_old

     sudo mv /home/paranoid folder paranoid_old 
  2. 将/home/.ecryptfs/paranoid重命名为/home/.ecryptfs/paraonoid_old

     sudo mv /home/.ecryptfs/paranoid /home/.ecryptfs/paraonoid_old 

    上述两个步骤备份了偏执数据,因此不受步骤3的影响

  3. 登录新机器时创建一个新用户,称为偏执狂,其密码与旧安装时的偏执密码完全相同

     sudo adduser paranoid 

现在,这将在/ home上创建一个新的/ home / paranoid目录
4.将此/ home / paranoid目录重命名为/ home / paranoid_new

  sudo mv /home/paranoid /home/paranoid_new 

现在回来了:

  1. 将/ home / paranoid_old文件夹重命名为偏执狂

     sudo mv /home/paranoid_old /home/paranoid 
  2. 将/home/.ecryptfs/paranoid_old重命名为/home/.ecryptfs/paranoid

     sudo mv /home/.ecryptfs/paranoid_old /home/.ecryptfs/paranoid 
  3. 现在确保我们新的偏执用户拥有这些文件

     sudo chown paraniod:users -R /home/.ecryptfs/paranoid /home/paranoid 

步骤7)可能是必要的,因为 – 即使/home/.ecryptfs/paranoid中的文件已经被称为“偏执狂”的用户拥有 – 这是现有安装中的偏执用户。 与旧安装相比,此用户在新安装的/ etc / passwd文件中可能具有不同的用户编号。 它是拥有文件的用户号码 – 而不是用户名。 因此,在运行新安装之前,您将文件chown文件,这些文件可能归错误的“偏执狂”所有。 如果偏执用户在旧安装和新安装中是不同的用户编号,那么在我们选择文件之后,偏执用户将无法登录到旧安装,因为他们将无权访问这些文件。 您可以通过编辑旧安装上的/ etc / passwd文件来修复此情况,以便为偏执者提供与新安装上相同的用户编号。 请务必不要使用许多现有用户。

8)安装ecryptfs-utils sudo apt-get install ecryptfs-utils

此时,您应该能够重新启动新的安装并登录到偏执的帐户,并在他们所有解密的荣耀中查看他们迁移的主文件。 / home / paranoid_new可以删除。

附录1我如何设置系统:我在新磁盘上安装了升级后的Kubuntu版本,同时将现有安装保留在另一个磁盘上。 我现有的安装在自己的分区(/ dev / mapper / kubuntu – vg-home_lv)上与/ home分开。 我在我的新驱动器上安装了升级后的kubuntu,而其他驱动器已断开连接,并为我现有安装中的任何帐户创建了一个管理员用户帐户(“admin”),其名称不同。 从kubuntu的实时实例启动时,我安装了我的旧磁盘和新磁盘并将[newdirveMountPoint] / home / admin复制到[oldinstalldriveMountPoint] / home / admin然后我编辑了[newdirveMountPoint] / etc / fstab添加了一行来制作它将我现有的驱动器挂在家里

 /dev/mapper/kubuntu--vg-home_lv /home ext4 errors=remount-ro 0 1 

现在当我以“admin”启动我的新安装时,/ home正在从与旧安装相同的分区中读取。 所以现在/ home / admin是我新安装上admin用户的主目录。 并且/ home / paranoid是我旧安装中偏执用户的主目录。 我的旧安装和新安装现在正在共享房屋。