open(11)Vaultwarden 轻量级密码管理
Vaultwarden 是一个由 Rust 编写的轻量级密码管理服务器,兼容 Bitwarden 客户端,适合个人或小型团队自建密码管理服务。它的前身是 bitwarden_rs,目标是提供一个资源占用更少、部署更简单的自托管解决方案。
bitwarden
🔐 1.Vaultwarden 特点
- 轻量高效:相比官方服务器,资源占用更少,适合配置较低的服务器或 NAS 设备 。
- 功能丰富:默认支持官方 Bitwarden 付费版的全部功能,如多因素认证(TOTP、YubiKey)、附件上传、组织共享等。
- 高度兼容:可与官方 Bitwarden 客户端无缝配合使用,支持 Windows、macOS、Linux、iOS、Android 等平台。
- 完全自托管:用户拥有对数据的完全控制权,增强了数据隐私和安全性 。
🚀 2.快速部署 Vaultwarden
2.1.运行容器:
quickstart
1 | docker run -d --name vaultwarden \ |
上述命令将 Vaultwarden 部署在本地的 80 端口,数据保存在 /vw-data/
目录中。
2.2.访问 Web 界面:
在浏览器中访问 http://<服务器IP>
,即可进入 Vaultwarden 的 Web 界面,注册并登录账户。
2.3参数控制
1 | docker run -d --name vaultwarden \ |
参数解释:
SIGNUPS_ALLOWED=true
:允许新用户注册。WEBSOCKET_ENABLED=true
:启用 WebSocket 支持,用于多端同步。LOG_FILE=/data/vaultwarden.log
:指定日志文件路径。-v /bw-data/:/data/
:挂载数据卷,用于持久化存储。-p 8880:80
:映射 HTTP 端口。-p 3012:3012
:映射 WebSocket 端口 。
1 | services: |
1 | version: '3' |
⚙️ 3.配置与管理
启用管理后台
Vaultwarden 支持通过设置 ADMIN_TOKEN
环境变量启用管理后台。
root@68bdb3fb562e:/# ./vaultwarden -h
Vaultwarden 1.33.2
Alternative implementation of the Bitwarden server API written in Rust
USAGE:
vaultwarden [FLAGS|COMMAND]
FLAGS:
-h, --help Prints help information
-v, --version Prints the app and web-vault version
COMMAND:
hash [--preset {bitwarden|owasp}] Generate an Argon2id PHC ADMIN_TOKEN
backup Create a backup of the SQLite database
You can also send the USR1 signal to trigger a backup
PRESETS: m= t= p=
bitwarden (default) 64MiB, 3 Iterations, 4 Threads
owasp 19MiB, 2 Iterations, 1 Thread
3.1.生成加密的管理密码:
1 | docker run --rm -it vaultwarden/server /vaultwarden hash |
按照提示输入密码,获取加密后的字符串。
3.2.设置环境变量:
在运行容器时添加环境变量:
1 | -e ADMIN_TOKEN='加密后的字符串' |
3.3.访问管理后台:
在浏览器中访问 http://<服务器IP>/admin
,使用设置的 ADMIN_TOKEN
登录管理后台。
🧭 4.使用指南
4.1. 创建账户
访问 http://your-domain.com
,根据提示创建账户。输入邮箱地址和主密码后,系统会发送验证邮件,点击邮件中的链接完成验证后即可使用 。
4.2. 管理后台设置
访问 http://your-domain.com/admin
,输入在环境变量中设置的 ADMIN_TOKEN
进入管理后台。建议在完成初始配置后,关闭新用户注册功能,以增强安全性 。
4.3. 配置客户端
在官方 Bitwarden 客户端中,选择“自托管”选项,并输入您的服务器地址(如 http://your-domain.com
),即可连接到自建的 Vaultwarden 服务 。