我想选择一些分散在各个硬盘上的文件夹(最好包括我的网络驱动器),然后对它们进行加密(AES256 或其他安全加密方式)并复制到 OneDrive,但我不想保留本地副本(一旦上传,就可以在本地删除,这样我就没有两个本地副本了)。这可能吗?
明确地说,我正在寻找自动化解决方案。我提到的一切都很容易手动完成:
- 加密文件
- 将其移动到 OneDrive
- 等待它们同步
- 更新所有文件夹,使其“仅在线”,这样在我删除本地文件后,它就不会与我的其他机器同步/重新下载
- 删除本地文件(不确定这是否会导致它们被在线删除?)
更好的是,如果它能一次性加密并上传,就不会在将所有内容复制到我的 C 盘(一个微型 SSD)时浪费大量磁盘空间。
答案1
当然,你可以使用 PGP/通用石油气加密文件,要么使用您自己的个人公钥(那么您只需记住您的个人密钥的密码),要么使用-c
常规加密,只需记住文件的密码。
然后将加密文件复制到任何地方进行备份。
或者,您可以使用 TrueCrypt(尽管它不再受官方支持)或 dm-crypt/LUKS 之类的工具来创建一个大的加密容器文件,将您的文件放入其中,然后将整个容器复制到任何地方。
或者,你可以使用加密文件系统,例如加密文件系统将本地文件夹加密到共享的 OneDrive(或其他服务)文件夹中。本地文件可以保持未加密状态,而在线副本/文件夹将被加密。
删除本地文件是一个选项(后您可能不知道在线副本是否可以解密(但可以验证在线副本是否可以解密),但为了制定良好的备份策略,您应该以某种方式在某处保存一份本地副本,以防在线副本出现问题或密码丢失等......
- 如何极客如何使用 EncFS 加密 Linux 和 Windows 上的云存储
- encfs4win- “将 encfs 移植到 Windows 世界的实验项目”
极好的ArchWiki EncFS 页面- 关于使用 EncFS 的非常好的信息。面向 Linux,但如果 Windows 的 EncFS 端口可用,它也应该可用。
这是 EncFS 最好的备份功能(在我看来)——它可以执行“
--reverse
”挂载,使用普通文件夹创建“虚拟”加密副本,而无需在硬盘上写入任何字节。然后可以将“虚拟”加密文件发送到云(或任何备份位置),您只需要加密选项文件(encfs6.xml,将其与备份文件放在一起就可以了)和密码即可读取它们。以下是一些粘贴的信息:备份明文目录
以下示例假设您想要创建
~/mythesis
包含文件的现有纯文本目录的加密备份thesis.txt
。首先,我们创建现有纯文本目录的加密备份:
$ encfs --reverse ~/mythesis /tmp/thesisbackup
请注意,在这种情况下,目录顺序与正常使用相反。使用该
--reverse
选项有两个效果:首先,配置文件现在存储在纯文本目录中,并且/tmp/thesisbackup
仅包含加密形式。其次,文件/tmp/thesisbackup
不是持久的。一旦卸载,它们就会消失(不,这不是由于使用/tmp
挂载点造成的)。出于第二个原因,现在是将加密文件复制到所需备份位置的时候了,然后再卸载临时 encfs 目录:
$ cp -R /tmp/thesisbackup/* /mnt/usbstick/ $ fusermount -u /tmp/thesisbackup
并做了。
要恢复(或查看)备份,我们需要以纯文本形式访问加密选项,该选项必须通过环境变量 ENCFS6_CONFIG 传递给 encfs(我们使用不同的目录以免弄乱现有的 ~/mythesis):
$ ENCFS6_CONFIG=~/mythesis/.encfs6.xml ~/mnt/usbstick/thesisbackup ~/restoremythesis
我不确定是否有一个全自动解决方案可以备份分散的文件夹,加密并上传和删除原始文件,这不是我最初回答时的问题的一部分。如果您信任公司/云存储,则网络搜索可能会找到一些具有自动加密云备份的程序,但 DIY 加密的目的通常是让您成为唯一拥有密钥的人。
如果我自己尝试,我可能会编写一个简短的 BASH 脚本来在线挂载 EncFS 文件夹,将备份文件复制到其中,并在同步完成后卸载。要添加增量备份,需要检查日期和/或文件哈希,进行比较以查找新的/更改的/删除的文件,并仅复制适当的文件,但这往往会增加过程的复杂性。
在搜索 .encfs6.xml 时,我确实找到了一个可以使 Windows 上的“自动”部分变得更容易一些的程序:
Boxcryptor,一个跨平台程序(Win,Mac,iOS,Android,Google Chrome,但不Linux...)可与大约 25 种不同的存储提供商(包括 Microsoft OneDrive)显然使用了 EncFS(它使用一个.encfs6.xml
文件) 和 RSA 密钥。我没有用过它(没有 Linux)并且不太熟悉它,有一个免费的基本版本,但这里有一些来自“什么是 Boxcryptor”页面:
Boxcryptor 支持所有主要的云存储提供商(例如 Dropbox、Google Drive、Microsoft OneDrive、SugarSync)并支持所有使用 WebDAV 标准的云(例如 Cubby、Strato HiDrive 和 ownCloud)。
Boxcryptor 在您的计算机上创建一个虚拟驱动器,允许您在将文件上传到您的云或所选云之前在本地加密文件。它会加密单个文件 - 并且不会创建容器。放入 Boxcryptor 驱动器内加密文件夹的任何文件都会在同步到云之前自动加密。
它是“技术概述”页面上有一些详细信息,以下是“Boxcryptor 如何实现零知识”:
Boxcryptor 是零知识服务提供商,因为我们从用户那里收到的任何私人和敏感信息都将始终以加密形式保存,并受用户密码保护 - 这些信息绝不会转移给我们或任何人。只有公钥是纯文本。
答案2
我是 Windows 用户。我一直在寻找这个问题的答案。
不同类型的备份架构解释如下http://www.techsupportalert.com/content/selecting-encryption-method-cloud-storage.htm。你说的直接加密备份到云的类型叫“Type 1”,以Tresorit和SpiderOak为例,还提到“使用Type 1加密的免费产品并不多”。
对于离线备份,我同意在备份到云之前必须拥有本地副本是没有意义的。但是,大多数流行的云存储解决方案(例如 OneDrive)都是为在不同设备之间同步文件而设计的,所以这就是存储本地副本的原因。
对于上传前加密的离线备份(即“客户端”),我发现了许多解决方案:
- 使用提供此功能的在线存储解决方案(例如 • Acronis True Image、Tresorit、SpiderOak)...问题是您与给定的提供商绑定(因此与 OneDrive 等不兼容)
- 使用专用备份软件将加密备份直接上传到在线存储解决方案(例如 OneDrive),使用 FTP 或 WebDav 等协议……问题是有些仅适用于有限的在线存储服务;您必须禁用同步,以便云的内容不会再次重新下载到您的计算机;并且您必须找到直接访问云存储服务的配置设置)
对于选项 2,你可以尝试免费且基本的 CryptSync 工具http://stefanstools.sourceforge.net/CryptSync.html它有点像 7Zip(用于压缩和加密)和 SynchToy(用于计划同步)的混合体。
虽然我喜欢它,但对我来说,这个工具还是存在一些问题,如下所示:
- 长路径和文件名无法加密,因为它们太长,Windows 无法处理
- 调度选项有限,即同步必须设置为上次同步后的 x 分钟(没有设置时间或每日、每周间隔或增量备份等)
- 虽然如果某个文件加密和同步失败会出现警告,但这不是弹出警告(用户必须查看日志并找出要做什么,例如缩短文件名)
CryptSync 的优点在于它可以将文件保存到云存储文件夹的任何本地副本中。用户不受特定云存储服务提供商的约束。
其他与 CryptSync 类似(但可以直接连接到在线存储服务而不仅仅是在本地保存文件)的免费工具是 Duplicati、Duplicity 和 FileFort。
您可能还想查看一些能够将加密备份发送到云存储的付费软件,例如:
- Handy Backup(使用 HBDrive、Amazon S3、Box、iDrive 等)
- Iperius(与 Google Drive、OneDrive、Dropbox、Amazon S3、Microsoft Azure、Iperius 在线存储合作)
- Nova(仅限亚马逊)
- NTI 备份
- Retrospect Pro(仅适用于 Amazon S3、Google Cloud Storage、Dropbox、DreamHost、Dunkel、Numergy 和 Aruba。)比较后认为是理想的软件
- Cloudberry(备份到任何云存储提供商或本地存储)
- SynchBack专业版
我发现评论http://www.backupreview.com/有用。