我自己的密码库: Bitwarden/Vaultwarden。
我以前对密码管理器这件事有点矛盾。
一方面我知道自己不该再用那几套熟悉的密码公式。什么常用词加生日,网站名首字母加符号,或者同一个密码换几个大小写,这些东西自己记起来很方便,真出事的时候也很方便别人撞库。另一方面,我又懒得每个网站都单独记一串乱七八糟的字符。人到最后总会给自己找理由:反正有短信验证码,反正不是重要账号,反正这么多年也没出事。
后来账号越来越多,NAS、路由器、Docker 服务、各种论坛、购物网站、开发平台、邮箱、银行卡 App,全都堆在一起,我才发现密码这件事已经不是“记性好不好”的问题,而是桌面秩序的一部分。文件可以放 NAS,照片可以备份,服务可以用首页整理,那密码也应该有一个属于自己的库。
所以我现在用的是 Bitwarden 客户端,加自己部署的 Vaultwarden 服务端。
Vaultwarden Web 登录页面入口看起来很简单,但它背后其实是我自己的一套账号同步中心。
先说清楚,Vaultwarden 不是官方 Bitwarden 服务端,而是一个兼容 Bitwarden 客户端协议的第三方实现。它最大的特点是轻量,适合放在 NAS 或小主机上用 Docker 跑起来。客户端这边我还是用 Bitwarden 的浏览器插件和移动端 App,这样平时使用习惯基本不用重新学习。
对我来说,这个组合最吸引人的地方不是“免费平替”这几个字,而是它刚好卡在一个舒服的位置:客户端成熟,插件好用,服务端又能放在自己的机器上。它不像自己写一个密码本那么原始,也不像把全部密码都交给云服务那样让我心里完全没参与感。数据在哪里、备份怎么做、服务什么时候升级,我都能自己决定。
当然,这句话反过来也成立:自己决定,就意味着自己负责。
密码库不是一个普通 Docker。影音库挂了,最多今天看不了电影;下载器挂了,最多任务晚一点;但密码库如果出问题,就会影响你登录很多真正重要的账号。所以我并不觉得自建 Vaultwarden 天然比官方云更安全。它只是把信任对象从“官方平台”换成了“我自己的部署和维护能力”。如果连 HTTPS、反代、备份、双重验证、容器更新这些基本动作都不愿意管,那官方 Bitwarden 云服务可能反而更省心。
我现在更愿意把 Vaultwarden 当成一个“自用密码保险柜”,而不是炫技项目。它不需要每天折腾,最好也不要每天折腾。部署好之后,真正影响体验的其实是浏览器插件。
Bitwarden 浏览器插件锁定状态浏览器插件锁定之后,需要主密码解锁,这个状态反而让我比较安心。
Bitwarden 插件是我打开频率最高的入口。平时访问网站,它会提示当前页面有没有匹配的账号;需要登录时点一下填充,或者用快捷键填进去。插件锁定的时候只显示一个很简单的解锁界面,输入主密码之后才能看见密码库。这个细节很重要,因为密码管理器如果一直敞着,心理上就很别扭,尤其是电脑偶尔会给别人看、屏幕投到电视上,或者临时离开座位的时候。
以前我最烦的是注册新账号。网站要求大写、小写、数字、符号,有的还限制长度,有的又不接受某些符号。最后人就会退回到自己的旧公式里,觉得“差不多就行”。用了密码管理器之后,这个习惯改得很明显:我不再试图记住每个网站的密码,而是让生成器直接生成。
Bitwarden 浏览器插件密码生成器真正改变习惯的不是自动填充,而是让我愿意给每个网站都用不同密码。
截图里这个生成器可以选择密码、密码短语和用户名,也能设置长度、大小写、数字和符号。我的习惯是重要账号直接生成长一点的随机密码,保存进密码库,再把双重验证打开。这样做最大的好处不是密码有多“高级”,而是每个站点都不一样。某个小网站泄露了,也不至于顺着同一个密码把邮箱、支付、云盘一起拖下水。
这也是我觉得密码管理器最值得用的地方。它不是让我变成安全专家,而是降低了做正确事情的门槛。以前“每个网站都用不同密码”听起来很合理,但实际执行很痛苦;现在这件事变成了点击生成、保存、填充。习惯一旦顺了,人就不太想回到手写密码本或者浏览器自带保存密码那一套了。
Web 端主要是用来整理和管理。
Vaultwarden Web 密码库页面Web 端更像后台管理台,适合整理分类、补充备注和检查项目。
Vaultwarden 的 Web 界面和 Bitwarden 的使用逻辑很接近。左侧可以看到登录、支付卡、身份、备注、SSH 密钥、文件夹、归档、回收站这些分类。它不是只能存网站密码,也可以放一些不适合直接写在备忘录里的东西,比如路由器后台地址、NAS 服务账号、某台机器的 SSH 登录说明、软件授权信息、家庭共享账号的备注。
不过我不建议什么都往里面塞。密码库越重要,越应该保持克制。真正敏感、真正需要长期保存、真正会影响账号安全的东西放进去;临时验证码、一次性口令、随手复制的无关文本,就没必要污染这个库。它应该是保险柜,不是剪贴板历史记录。
用一段时间之后,我对 Bitwarden/Vaultwarden 的感觉很现实:它没有让我“一劳永逸”。我还是要记住一个足够强的主密码,要定期确认备份能不能恢复,要注意服务器证书是否正常,要避免把管理后台裸奔在公网,还要给管理员账号开好双重验证。自建服务最怕的不是麻烦,而是部署完就假装它永远不会坏。
但它确实改变了我管理账号的方式。
以前我登录一个网站,脑子里先想“这个站我当时用的是哪套密码”。现在我想的是“插件里有没有匹配项”。以前注册新服务,我会犹豫要不要再编一个好记的密码。现在直接生成、保存、同步。以前 NAS 上跑了很多服务,每个服务都有自己的管理员账号,我经常怕自己哪天忘掉。现在这些账号能被统一放进密码库,至少不会散落在聊天记录、备忘录和浏览器缓存里。
它适合什么人?我觉得适合已经有 NAS、小主机或者长期自建服务习惯的人,适合愿意认真做备份和维护的人,也适合已经意识到“一个密码走天下”不靠谱、但又不想被复杂工具劝退的人。
它不太适合什么人?如果你只是想马上有一个稳定省心的密码管理器,不想管服务器、不想管证书、不想管数据库备份,那直接用官方 Bitwarden、1Password 这类成熟云服务反而更合理。如果你把 Vaultwarden 当成随手部署的玩具,又把全家的重要账号都塞进去,那预期就有点危险了。
如果你也需要这么一套,我觉得至少要先把下面这些东西准备好。
第一是一个能长期在线的运行环境。NAS、小主机、软路由旁边的 Docker 主机都可以,性能要求并不高,但一定要稳定。密码库不需要很强的 CPU,也不需要很大的内存,它更需要这台机器不要三天两头断电、重装、换系统。对我来说,能 7x24 小时开着,比跑分好看重要得多。
第二是 Docker 和一个固定的数据目录。Vaultwarden 本身适合用 Docker 跑,但真正重要的是映射出来的数据目录。容器可以删了重建,镜像可以升级,数据目录不能随便丢。这个目录最好放在 NAS 正常备份范围内,不要只存在某个临时下载盘或者系统盘角落里。
第三是访问方式。只在家里用,可以走内网地址;想在外面也能同步,就要考虑域名、HTTPS、反向代理和 DDNS。这里我不建议裸 IP 加端口直接暴露到公网。密码库这种东西,入口越克制越好。能上 HTTPS 就上 HTTPS,能少开放端口就少开放端口,能只给自己用就别做成公共服务。
第四是客户端。电脑上装 Bitwarden 浏览器插件,手机上装 Bitwarden App,登录时把服务器地址改成自己的 Vaultwarden 地址。这个环节决定了它最后是不是顺手。服务端搭得再漂亮,如果插件不好用、手机不同步,最后还是会退回老习惯。
第五是安全设置。主密码要认真想,不能用以前那套常用密码;管理员账号和重要账号要打开双重验证;注册入口最好按自己的使用方式收紧,家用场景一般不需要长期开放注册。还有一点很现实:不要只记得部署,忘了测试恢复。备份文件能不能还原,至少要心里有数。
最后是心理准备。自建密码库不是“装完就永久省心”,它更像家里的路由器和 NAS,需要偶尔看一眼状态,定期更新,出问题时知道从哪里排查。如果这些事情你能接受,那 Vaultwarden 会很舒服;如果只是想彻底不管,那云服务并不丢人。
所以我不会把这套东西说成什么终极方案。它只是很符合我现在的生活状态:家里有 NAS,有 Docker,有一堆内网服务,也有越来越多需要认真对待的账号。Bitwarden 负责让我每天用起来顺手,Vaultwarden 负责把这个密码库放回我自己的设备里。
密码管理这件事,最好的状态不是每天提醒自己“我要注意安全”,而是把正确动作变成默认动作。对我来说,Bitwarden/Vaultwarden 就是这样一个工具。它不热闹,也不刺激,但每次自动填充成功、每次生成一个独立密码、每次看到密码库还安稳地同步在那里,我都会觉得:这才像是我自己的数字生活该有的样子。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
