我自建密码库不需要服务器,KeePassXC加Syncthing就是答案

KeePassXC与Syncthing密码同步

云密码管理器的根本问题:服务器在中间

LastPass出事的时候,很多人第一反应是换一个新的云密码管理器。Butter、1Password、Dashlane……换个名字,本质没变——密码仍然放在别人的服务器上,由别人来保证安全。

我对这种模式的根本疑虑就在这里。不是说1Password或Butter不安全,而是这种架构有一个无法回避的单点故障:服务商可能倒闭、被收购、遭遇数据泄露,或者像LastPass那样自己出问题。到时候你只能祈祷数据没被盗,然后从备份里恢复。

不想把一切押注在第三方身上,密码该放哪里?我的答案是:放在自己的设备上,用文件存,用工具同步。

方案:KeePassXC + Syncthing

思路很简单:密码数据以加密文件的形式存储在本地电脑和手机上,通过Syncthing同步。没有服务器,没有云端,没有第三方参与。

KeePassXC是开源跨平台密码库管理工具,密码数据存在.kdbx格式的加密文件里。这个文件本质上是一个压缩包,包含所有账户信息、密码、安全问题和自定义字段,整个文件被AES-256加密保护。

Syncthing是文件同步工具,在多台设备之间建立点对点连接,不需要中央服务器中转。电脑上修改了密码库文件,Syncthing检测到变化后,通过设备之间的直接网络连接把更新传到手机和其他设备。

两个工具配合在一起:KeePassXC管存储和加密,Syncthing管同步。

第一次同步的过程出奇平静

电脑上KeePassXC把新密码写入.kdbx文件。锁上屏幕,拿起手机——一分钟后,手机上的KeePassXC也打开了同样的密码库,密码已经更新过了。

没有任何提示,没有同步成功的弹窗,没有需要确认的步骤。Syncthing在后台悄悄把文件变更传过去,KeePassXC读到新文件,打开就看到新密码。

在Syncthing眼里,.kdbx文件和一张JPEG没有任何区别——它只管搬文件,不关心里面装的是什么。这种”无知”正是我们想要的:同步引擎不该知道你的密码是什么。

并发修改的冲突处理

真正考验这个方案的地方,是两台设备同时修改同一个密码库的情况。

我做过一个实验:电脑上改了一个账户密码,手机上改了另一个账户密码,然后让两台设备连上网络。

Syncthing检测到冲突了,两个设备都对同一个文件做了修改。它不会覆盖其中一个,而是保留两份副本——一份作为主副本,另一份标记为”sync-conflict-时间戳”保留在旁边。

两个修改都不会丢失。KeePassXC打开后会看到两个版本的密码条目,需要手动合并,把两边的改动整合到一份文件里,然后删除冲突副本。

这个流程看起来麻烦,但实际很少发生。养成修改密码后等待同步完成的习惯,大多数情况下不会遇到冲突。

这个方案解决了什么

LastPass服务器宕机了,密码还能用,因为文件在你的手机和电脑上。供应商被收购了,密码仍然安全,因为你掌控着自己的数据。云密码管理器的运维人员理论上可以访问你的密码——虽然正规供应商都承诺不会这么做,但你无法验证这个承诺。而这个方案里,除了你,没人能打开那个.kdbx文件。KeePassXC和Syncthing都是免费的,你只需要一台能跑这两个工具的设备。

代价是什么

云密码管理器的备份由服务商负责,现在备份的责任转移到了你身上。手机丢了、电脑硬盘坏了,没有备份密码库文件,就真的全没了。

Syncthing偶尔会出现同步延迟或冲突,需要你手动介入。不会致命,但要花时间理解和解决。

云密码管理器有账户恢复机制,忘记主密码可以通过邮箱或手机号找回。这个方案没有这种东西。主密码就是你的一切,丢了就全丢了。

这些成本不是问题,但它们是真实存在的。你需要问自己:我愿意为完全掌控自己的数据付出这些代价吗?

谁适合用这个方案

对云密码管理器感到不安、想要更彻底的隐私控制的用户值得考虑。

对数据主权有强烈意识的技术用户、已经在用KeePassXC但想摆脱云端同步的用户、不愿意支付订阅费用的用户,以及有多台设备需要本地同步的用户,都适合这个方案。

如果你不想折腾技术问题、只想”开箱即用”,1Password或Butter的云服务方案更适合你。

开始前的准备

主密码是这个方案最重要的安全锚点,不够强的话.kdbx加密形同虚设。建议至少16位,包含大小写字母、数字和符号的组合。不要用词典单词,不要用生日或常见短语。

备份策略不能偷懒。NAS、外接硬盘或另一台电脑上都保留一份密码库副本,每次重大修改后手动同步一次备份。这是最不该省事的环节。

Syncthing需要理解网络连通性、文件夹配置和同步规则这些概念。如果不熟悉,建议先花点时间读一下官方文档。

写到最后

这个方案不适合所有人,但它提供了一个重要的选项:不必把自己的密码交给第三方保管。

代价是更多的责任和维护工作。但当你意识到密码库文件只是电脑上的一个普通文件,可以随时复制、备份、迁移,没有任何服务商能把它拿走或泄露——这种掌控感是云服务无法提供的。

信息安全是一个权衡问题。你交出多少控制权换取多少便利性,你保留多少控制权承担多少维护成本。这个方案适合那些认为前者不值得的人。

核心风险:依赖用户自主管理备份和主密码,一旦丢失无法通过服务商恢复。核心措施:多设备备份策略,强主密码(至少16位混合字符)。管理建议:适合技术能力较强的用户,不适合缺乏技术背景或备份意识的群体。