AI News Feed
Market watch
Products & Applications

少数派撰文详述自托管密码方案:Vaultwarden 加 Keyguard 承接数百条密码

少数派于 2026 年 10 月 6 日发布的一篇实践文章记录了作者将三四百条密码迁至家用 NAS 上的自托管 Vaultwarden,并通过 Cloudflare Tunnel 对外访问、配合第三方客户端 Keyguard 使用的过程。

文章称,作者此前使用 Enpass,原因并非体验出众,而是家人订阅的 Google Play Pass 可直接解锁高级版;订阅涨价后全家决定不再续费,密码库需要另寻去处。作者逐一排查后认为可选项各有问题:1Password 错过拼车价格后订阅费用偏高,LastPass 多次卷入安全事件,KeePass 开放但跨平台体验碎片化。Bitwarden 也并非首选,因为使用 TOTP 需额外付费,否则要另装一个二次验证应用,且其客户端体验在同类产品中并不突出。真正促成自托管的是家中一台 24 小时开机的 NAS。

文章介绍,Vaultwarden 是由社区维护的非官方开源 Bitwarden 后端。与官方基于 .NET 和较重数据库的自托管后端相比,该镜像体积小,常驻内存通常不超过一百兆,核心功能完整,还能从后端直接解锁 TOTP 管理和多人共享等高级功能,适合个人与小微团队自建。

部署部分,文章建议 NAS 用户优先选择 Docker,图形化界面或 Docker Compose 均可,零售成品 NAS 甚至无需查看 Compose 文件。作者列出几个关键参数:镜像使用 vaultwarden/server 的 latest 标签;将容器内 /data 目录映射到 NAS 实体文件夹以便备份和迁移;容器默认使用 80 端口,建议采用 bridge 网络并映射到主机其他端口,避免端口冲突;无论何种方式都应在环境变量中把 DOMAIN 设为公网访问域名,Compose 部署可将变量写入 .env 文件引用。

文章指出,除在 NAS 本地 localhost 环境访问外,直接用局域网 IP 打开会触发拒绝访问提示,原因是浏览器对安全上下文的强制要求,密码管理器网页端依赖的 Web Crypto API 仅在可信网络下可用。Vaultwarden 虽内置 HTTPS,但官方 Wiki 明确表示该方式不成熟,建议用反向代理配合 Let's Encrypt 或 Cloudflare 证书。对国内家庭宽带常见的低等级 NAT,作者推荐 Cloudflare Tunnel:在 Zero Trust 控制台进入「连接器」创建隧道,选择 cloudflared 并按指引安装客户端,已有托管域名可直接添加二级域名映射,否则可用命令把内网地址映射为临时的 trycloudflare.com 域名。作者提醒临时域名每次重启都会变化,仍建议购买便宜域名托管到 Cloudflare,以便家中所有内网服务统一挂二级域名。

权限管理方面,文章强调 Vaultwarden 默认允许任何人注册,脚本扫描或误输网址的访客都可能注册账号甚至上传附件,因此注册完自己的账号后必须将 SIGNUPS_ALLOWED 设为 false 并重新部署。管理后台 /admin 默认关闭,不影响使用;如需启用须设置复杂的 ADMIN_TOKEN,作者建议配置完成后直接删除该字段,彻底关闭后台入口。作者同时提到 Vaultwarden 支持 TOTP、通行密钥和 Duo Security 三种主账号两步验证方式,配置时须妥善保管紧急恢复代码。

迁移环节,文章称登录后在「工具」页面选择导入即可,Vaultwarden 支持市面上绝大多数主流密码管理器的数据格式,作者的 Enpass 数据以 JSON 格式被完整解析。作者建议在确认所有登录方式迁移完成前不要卸载旧工具或清空密码库,应让两种工具并行一段时间。浏览器端目前仍只有 Bitwarden 官方插件可用,安装后选择自托管服务并输入二级域名登录即可获得自动填充。

针对官方移动端体验,作者在他人推荐下改用开源客户端 Keyguard。该工具支持 Windows、macOS、Linux、Android 和 Wear OS,兼容 Bitwarden 与 KeePass 数据,界面、交互与动画优于官方客户端。作者称主流密码服务自 9 月初起陆续支持通行密钥迁移,在 Keyguard 设置中点击用户名并选择「从其他应用导入」即可迁移通行密钥;它还能接管 Android 14 开放的 Chrome 第三方自动填充,凭借本地保存的密码库,即使 Cloudflare 网络波动导致无法连接自建服务也能正常使用。文章还提到,Bitwarden 并未在服务端封禁免费用户的 TOTP 功能,因此使用官方服务的用户同样可以借 Keyguard 管理验证码。