据少数派10月6日发布的一篇实践文章,一名用户因Enpass订阅涨价而放弃续费,改用基于Vaultwarden和Keyguard的自托管密码管理方案,以迁移手中三四百个密码。文章称,Bitwarden客户端体验和TOTP付费限制促使其选择社区维护的Vaultwarden后端。

文章介绍,Vaultwarden是由社区维护的非官方开源Bitwarden后端服务。与官方基于.NET和笨重数据库的自托管后端相比,Vaultwarden镜像轻巧,常驻内存通常不过百兆,核心功能完备,还能从后端解锁TOTP管理和多人共享等高级功能,适合个人和小微团队自建。部署方式上,文章认为NAS首选Docker。Docker镜像小巧,部署简单,做好目录映射后可用NAS的文件同步或备份功能保障数据安全。对于极空间、绿联等成品NAS,可直接在图形化Docker界面完成部署。文章提醒,镜像用vaultwarden/server的latest标签;将容器内/data映射到NAS实体文件夹;修改ROCKET_PORT或使用bridge网络映射80端口;在环境变量中配置DOMAIN。

Vaultwarden要求可信网络连接,非localhost环境需配置HTTPS。文章解释,浏览器安全上下文策略使Web Crypto API仅在可信网络调用,家庭内网HTTP会被拒绝。文章建议用反向代理配合Let's Encrypt或Cloudflare获取证书。对于低等级NAT或不想折腾的用户,推荐Cloudflare Tunnel。文章列出配置步骤:登录Cloudflare Zero Trust,进入网络-连接器,创建隧道,选择cloudflared并安装客户端,然后添加已发布应用程序路由或使用临时trycloudflare.com域名。文章提醒临时域名重启后会变化,建议购买便宜域名托管到Cloudflare。

权限管理方面,文章称Vaultwarden默认允许任何人注册,建议注册后设SIGNUPS_ALLOWED=false并重新部署,防止他人注册或上传附件。管理后台/admin默认关闭,启用需ADMIN_TOKEN,文章建议配置完成后删除该字段彻底关闭。Vaultwarden支持主账号2FA,包括TOTP、通行密钥和Duo Security验证代码,需保管紧急恢复代码。

迁移与使用方面,文章称登录后在工具页面导入,可导入主流密码管理器格式,三四百条Enpass(JSON)数据可解析;建议在确认迁移完成前不要卸载旧工具,并行一段时间。浏览器插件只有Bitwarden官方插件可用,选择自托管服务并输入域名登录后自动填充。移动端文章称官方App体验不佳,作者在推荐下改用开源第三方客户端Keyguard,支持Windows、macOS、Linux、Android和Wear OS,兼容Bitwarden与KeePass。Keyguard可接管Android版Chrome第三方自动填充,并可在本地保存密码库,网络波动时也能使用。文章还称,从9月初开始主流密码管理服务陆续支持通行密钥迁移,Keyguard设置中可从其他应用导入通行密钥。对于使用官方Bitwarden服务的TOTP需求,文章称Bitwarden并未在服务端给免费用户封禁TOTP功能。