Bitwarden,跨平台密码管理应用,支持管理登录密码、支付卡、身份信息、安全笔记;如无特别需求,官方的免费版本满足绝大多数的需求;
而本文笔记的Vaultwarden(原Bitwarden_RS),是用Rust编写的Bitwarden服务器API的替代实现,基于Docker镜像,最大的特点是轻量化,可使用Bitwarden的付费功能,例如TOTP,也就是两步验证,2FA;
既是优点又是缺点的是,需要自己搭建,自己维护,数据在自己手中。

1. 安装Docker

一键命令:

curl -sSL https://get.docker.com/ | sh

如果是CentOS系统,还需设置启动项和启动:

systemctl enable docker
systemctl start docker

2. 注册账号

先把Vaultwarden镜像运行起来:

docker run -d \
  --name vaultwarden \
  --restart=unless-stopped \
  -v /root/vw-data/:/data/ \
  -p 42020:80 \
  vaultwarden/server:latest

解析一个域名(例如vw.domain.tld)至主机,
随后用Nginx、Caddy等Web服务,反向代理端口42020,并设置SSL证书;

注册账号必须要设置SSL,所以干脆就先整个域名,一步到位;
这里推荐宝塔面板或Nginx Proxy Manager,方便设置反向代理,方便使用Let's Encrypt免费配置SSL证书;

例如宝塔面板的反向代理设置:
chrome_4Z5c8e1g2i.png

随后浏览器打开https://vw.domain.tld注册账号。

3. 禁止新用户注册

注册账号后,删除容器:

docker stop vaultwarden && docker rm vaultwarden

添加禁止新用户注册的变量重新启动:

docker run -d \
  --name vaultwarden \
  --restart=unless-stopped \
  -e SIGNUPS_ALLOWED=false \
  -e DOMAIN=https://vw.domain.tld \
  -v /root/vw-data/:/data/ \
  -p 42020:80 \
  vaultwarden/server:latest

上述DOMAIN=https://vw.domain.tld的变量参数,修改成自己的域名,以用于启用添加第三方两步验证(2FA)。

4. Web管理页面

这功能似乎无关紧要;
Docker容器运行参数中加一个变量,设置登录密码,例如:

-e ADMIN_TOKEN=84qrSS1fWgbm1PySWZQXNw

然后管理页面是:https://vw.domain.tld/admin;例如可视化设置SMTP邮件发送信息,并测试,等。

5. 启用移动客户端推送

2023年11月5日12:33:20,编辑项目后,保存的时候反应好慢,解决方法,忽视这一步;
猜测有可能是服务器(我的是用国内的机子搭的)与Bitwarden推送API之间的通信延迟问题,也有可能加上Bitwarden与手机推送服务之间的通信;
我不折腾了,直接关了,一个字懒 -_-||

前往https://bitwarden.com/host/输入邮箱地址,注意数据区域选择美国United States;
获取INSTALLATION IDINSTALLATION KEY

删除容器:

docker stop vaultwarden && docker rm vaultwarden

禁止新用户注册,启用客户端推送:

docker run -d \
  --name vaultwarden \
  --restart=unless-stopped \
  -e SIGNUPS_ALLOWED=false \
  -e DOMAIN=https://vw.domain.tld \
  -e PUSH_ENABLED=true \
  -e PUSH_INSTALLATION_ID=<INSTALLATION ID> \
  -e PUSH_INSTALLATION_KEY=<INSTALLATION KEY> \
  -v /root/vw-data/:/data/ \
  -p 42020:80 \
  vaultwarden/server:latest

注意,Bitwarden的移动客户端,必须从官方下载,目前来看安卓似乎只有Google Play Store,国产安卓似乎没啥必要进行这一步,IOS(App Store)强烈建议;
注意,推送不适用于已经登录过的设备,比方讲你此前已经搭建,并安装手机客户端且登录了,然后再服务端设置启用推送功能,推送不会成功,要清除APP数据,建议删掉APP重新安装再登录;
如何测试推送是否在工作,在Vaultwarden网页版https://vw.domain.tld,通过修改文件夹的名称,看客户端APP上能否在几秒钟内自动改变。

6. 数据的备份

备份这个目录/root/vw-data/就可以了;
这里推荐宝塔面板,直接在计划任务里创建,方便快捷;
chrome_P5FIS3Uylw.png

额外

Vaultwarden GitHub: https://github.com/dani-garcia/vaultwarden
Vaultwarden WIKI: https://github.com/dani-garcia/vaultwarden/wiki

APP登录注意登录到自托管,填入第一项“服务器 URL”即可,
也就是https://vw.domain.tld,可别登录到默认的bitwarden.com;

文章目录