搭建 Vaultwarden 服务端使用 Bitwarden 开源密码管理器
status
Published
type
Post
slug
self-host-bitwarden-compatible-server-vaultwarden-to-manage-password
date
Mar 31, 2024
tags
Tool
Share
Config
Docker
summary
本文介绍了如何搭建 Vaultwarden 服务端,该服务端能够兼容使用开源密码管理器 Bitwarden。Vaultwarden 是一款轻量级的非官方 Bitwarden 服务器实现,适合个人或小型组织自托管使用,与官方 Bitwarden 客户端兼容,提供安全稳定的密码管理方案。文章还提供了通过 Docker Compose 快速启动 Vaultwarden 的方法,确保用户可以高效、安全地管理密码。
背景
Bitwarden 这一开源密码管理器的之前在论坛帖子和回复中经常看到,但一直以来并没有将其提上优先级,也就没有搭建深入使用了。
Google Chrome 自带的密码管理实证不安全,1password / lastpass 等类型产品也或多或少的存在问题,迁移到 Bitwarden 似乎是最合适的选择。
介绍
Bitwarden 是一款开源密码管理器,旨在帮助用户安全地存储和管理他们的密码及其他敏感信息。它的用户界面简洁直观,适合各类用户,无论是个人还是团队,均可轻松上手。Bitwarden 提供端到端加密,确保用户的数据在传输和存储过程中都得到高度保护,只有用户本人可以访问和解锁这些信息。 此外,Bitwarden 支持多平台同步,用户可以在桌面、移动设备及浏览器扩展中访问他们的密码库,这种灵活性极大地方便了日常使用。同时,Bitwarden 还提供了多种安全功能,如密码生成工具、密码安全评估和双重认证,进一步提升了账户的安全性。
Vaultwarden
Bitwarden 官方的服务端运行起来较为吃资源,考虑到 VPS 有限的性能,这里使用 Vaultwarden 来作为服务端。
Vaultwarden 是一个用 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
然后通过
docker compose up -d
启动。使用
打开绑定的域名,根据操作提示创建账户,创建完成后进入界面如下
导入密码
此处以导入 Chrome 浏览器中的密码为例,先从 Chrome 浏览器中导出已有密码
浏览器网址输入栏输入
chrome://password-manager/settings
并访问👇 安装各个平台的 Bitwarden 应用 / 浏览器扩展插件
以 macOS 应用为例,打开应用如下所示,选中
self-hosted
,填写绑定的域名然后登录即可。