摆脱高额订阅:基于 Vaultwarden 与 Keyguard 的自托管密码管理实践
分类:科技 标签:开源项目、NAS、密码管理、自托管 随着主流密码管理方案不断调整订阅价格,寻找更具性价比且数据完全可控的替代方案成为了许多数码爱好者的共同诉求。面对 1Password 的高昂订阅、LastPass 频繁的安全丑闻,以及 KeePass 碎片化的跨平台体验,利用手边的 NAS 自建密码管理系统成为了折腾党们的优选。本文将分享如何通过 Vaultwarden 后端搭配 Keyguard 客户端,打造一套私密、轻量且体验出色的自托管密码管理方案。 为什么选择 Vaultwarden Vaultwarden 是一个由社区维护的非官方开源 Bitwarden 后端服务。相较于官方基于 .NET 且较为笨重的自托管后端,Vaultwarden 镜像极其轻巧,常驻内存通常仅需数十兆。它不仅核心功能完备,还能直接从后端解锁 TOTP 管理、多人共享等高级功能,非常适合个人及小微团队自建。 NAS 部署实战 对于拥有 24 小时开机 NAS 的用户来说,使用 Docker 部署 Vaultwarden 是最便捷的方案。 部署注意事项 镜像选择:拉取 vaultwarden/server 的 latest 标签,后续更新只需重新拉取镜像。 持久化存储:务必将容器内的 /data 目录映射到 NAS 的实体文件夹,便于日后手动备份或整体迁移。 端口配置:建议使用 bridge 网络,将容器内的 80 端口映射为 NAS 主机上的其他自定义端口(例如 8808:80),避免端口冲突。 关闭开放注册:部署成功并注册好自己的账号后,必须立即在环境变量中将 SIGNUPS_ALLOWED 设置为 false,防止外人通过脚本或误触注册账号。 解决 HTTPS 与公网访问难题 现代浏览器的“安全上下文”策略强制要求密码管理器网页端所依赖的 Web Crypto API 必须在可信网络(如 HTTPS)中才能被调用。如果在非本地网络直接通过 HTTP IP 地址访问,Vaultwarden 会直接拒绝调用。 ...