分类:科技 标签:开源项目、NAS、密码管理、自托管


面对市面上主流密码管理器不断上涨的订阅费用、隐私丑闻或碎片化的跨平台体验,寻找一套安全、自由且经济实惠的密码管理方案成为了许多数码爱好者的刚需。借助家里 24 小时开机的 NAS,自托管一套轻量且功能完备的密码管理系统,不失为一个一劳永逸的最佳选择。

本文将带你通过 Vaultwarden 与开源客户端 Keyguard 的组合,从零搭建属于你自己的私有密码管理中心。


为什么选择 Vaultwarden

Vaultwarden 是一个由社区维护的非官方开源 Bitwarden 后端服务。相比官方笨重的 .NET 数据库后端,它拥有以下核心优势:

  • 极致轻量:镜像体积小,常驻内存通常仅需百兆左右,非常适合个人或小微团队在 NAS 上自建。
  • 功能完备:不仅完美兼容 Bitwarden 客户端,还能直接从后端解锁多用户共享等高级功能。
  • 数据掌控:所有数据均存储在本地,真正做到将数字资产掌握在自己手中。

NAS 部署实战指南

对于成品 NAS 用户而言,利用 Docker 部署 Vaultwarden 是最省时省力的方式。整个部署流程主要包含以下几个关键步骤:

  1. 镜像拉取与目录映射:使用 vaultwarden/server 镜像,并将容器内部的 /data 目录映射到 NAS 的实体文件夹中。这样后续只需备份该文件夹,就能轻松实现数据的整体迁移与恢复。
  2. 端口配置:避免使用默认的 80 端口冲突,建议将宿主机端口映射为其他可用端口(如 8808:80),并确保网络模式为 bridge。
  3. 域名与 HTTPS 配置:由于现代浏览器的「安全上下文」策略,密码管理器的 Web Crypto API 必须在可信网络(HTTPS)下才能被调用。

借助 Cloudflare Tunnel 轻松实现内网穿透

如果你苦于家里没有公网 IP,或者嫌传统反向代理配置繁琐,强烈推荐使用 Cloudflare Tunnel (隧道) 功能。它不仅能免费将内网服务安全地映射到公网,还能顺手解决 SSL/TLS 证书问题,提供免费的 DDoS 防护。

  • 登录 Cloudflare 控制台,进入「Zero Trust」中的「连接器」页面创建隧道。
  • 在 NAS 上安装并运行 cloudflared 客户端(同样推荐使用 Docker)。
  • 将内网的 Vaultwarden 服务映射到一个自定义的二级域名上,即可随时随地安全访问。

必要的安全加固与权限管理

密码管理服务直接关系到个人核心隐私,部署完成后务必做好以下安全收尾工作:

  • 关闭公开注册:为了防止外人通过扫描或误触在你的服务中注册账号,应立即将环境变量 SIGNUPS_ALLOWED 的值修改为 false,然后重新部署容器。
  • 管理后台权限控制:Vaultwarden 的 /admin 管理后台控制着整个数据库。在完成初始配置后,建议删除 ADMIN_TOKEN 字段,彻底关闭管理后台的外部访问。
  • 开启双重认证 (2FA):为主账号配置 TOTP 或通行密钥等多步验证,并妥善保管紧急恢复代码。

客户端选择:告别官方 App 的 Keyguard 体验

在浏览器端,我们可以直接使用 Bitwarden 官方插件连接自建服务器。但在移动端,官方 App 相对沉重的体验往往让人感到不够优雅。

此时,开源第三方客户端 Keyguard 成了更好的选择:

  • 优秀的多平台体验:支持 Windows、macOS、Linux 以及 Android 和 Wear OS,其 UI 设计与动画效果表现极其出色。
  • 通行密钥 (Passkey) 迁移:支持从 1Password 或 Google 密码管理工具中直接迁移通行密钥,免去繁琐的重新配置流程。
  • 强大的自动填充:完美接管 Android 系统的第三方自动填充功能,配合本地稳健的密码库缓存,即使网络波动也能正常使用。

总结与延伸

通过自托管搭建密码管理体系,不仅能彻底摆脱商业软件的订阅束缚,更能获得完全可控的数据主权。虽然搭建过程需要克服网络与配置门槛,但一旦跑通整个链路,不仅能享受到丝滑跨平台的便利,还能在折腾中收获满满的技术成就感。