搭建 Vaultwarden 服务端使用 Bitwarden 开源密码管理器
✨ 本文介绍了如何搭建 Vaultwarden 服务端,该服务端能够兼容使用开源密码管理器 Bitwarden。Vaultwarden 是一款轻量级的非官方 Bitwarden 服务器实现,适合个人或小型组织自托管使用,与官方 Bitwarden 客户端兼容,提供安全稳定的密码管理方案。文章还提供了通过 Docker Compose 快速启动 Vaultwarden 的方法,确保用户可以高效、安全地管理密码。
背景
Bitwarden 这一开源密码管理器的之前在论坛帖子和回复中经常看到,但一直以来并没有将其提上优先级,也就没有搭建深入使用了。
Google Chrome 自带的密码管理实证不安全,1password / lastpass 等类型产品也或多或少的存在问题,迁移到 Bitwarden 似乎是最合适的选择。
https://www.v2ex.com/t/1014605介绍
https://bitwarden.com/Bitwarden 是一款开源密码管理器,旨在帮助用户安全地存储和管理他们的密码及其他敏感信息。它的用户界面简洁直观,适合各类用户,无论是个人还是团队,均可轻松上手。Bitwarden 提供端到端加密,确保用户的数据在传输和存储过程中都得到高度保护,只有用户本人可以访问和解锁这些信息。
此外,Bitwarden 支持多平台同步,用户可以在桌面、移动设备及浏览器扩展中访问他们的密码库,这种灵活性极大地方便了日常使用。同时,Bitwarden 还提供了多种安全功能,如密码生成工具、密码安全评估和双重认证,进一步提升了账户的安全性。
Vaultwarden
Bitwarden 官方的服务端运行起来较为吃资源,考虑到 VPS 有限的性能,这里使用 Vaultwarden 来作为服务端。
https://github.com/dani-garcia/vaultwardenVaultwarden 是一个用 Rust 编写的非官方 Bitwarden 服务器实现。它与官方的 Bitwarden 客户端兼容,主要面向个人、家庭和小型组织,适合想要自托管的用户,因为它比官方资源消耗较大的服务更轻量。
部署
直接通过 Docker Compose 快速启动,使用 SQLite 作为数据库。
compose.yaml
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden-server
restart: always
volumes:
- ./vw-data/:/data/
ports:
- "8088:80"
environment:
- TZ:Asia/Shanghai
# 当自己的账户创建成功后可修改为 false 以禁止其他人注册
- SIGNUPS_ALLOWED=true
# 禁止邀请
- INVITATIONS_ALLOWED=false
# 开启 Admin page,设置 Token
# 可通过如下命令设置密码获得 Token 字符串,可能需要安装 argon2,如 Debian 系:sudo apt install argon2
# echo -n "SecurePassword" | argon2 "$(openssl rand -base64 32)" -e -id -k 19456 -t 2 -p 1 | sed 's#\$#\$\$#g'
- ADMIN_TOKEN=
# 启用 U2F 和 FIDO2 WebAuthn ,必须设置 https 域名
- DOMAIN=https://your.vw.url
# 请求头客户端 IP 信息,使用 Cloudflare 时设置
- IP_HEADER=CF-Connecting-IP更多环境变量配置请参阅项目 Wiki
https://github.com/dani-garcia/vaultwarden/wiki/Configuration-overview然后通过 docker compose up -d 启动。

使用
打开绑定的域名,根据操作提示创建账户,创建完成后进入界面如下

导入密码
此处以导入 Chrome 浏览器中的密码为例,先从 Chrome 浏览器中导出已有密码
浏览器网址输入栏输入chrome://password-manager/settings并访问


👇 安装各个平台的 Bitwarden 应用 / 浏览器扩展插件
https://bitwarden.com/download/以 macOS 应用为例,打开应用如下所示,选中 self-hosted ,填写绑定的域名然后登录即可。
