Vaultwarden 是著名的开源密码管理器 Bitwarden 的 Rust 语言重制版,相比原版更加轻量、性能优化,并且自建的 Vaultwarden 服务也可以在官方的各种客户端上使用。
在互联网冲浪,我们不免需要注册很多产品或服务的账号,每个账号统一密码容易出现单个密码泄露、一损俱损的情况,而不同的密码又难以记忆;使用一个密码管理器可以帮我们解决这一问题,每个账号都生成、使用不同的强密码,然后在需要登录的时候,如在浏览器,使用自动填充,或者从密码管理器那里复制账号密码,方便快捷的登录。
特点:
- 支持添加组织分类管理密码
- 附件和发送功能
- 支持 Vault API
- 用于 Vault 界面的静态文件服务
- 支持网站图标 API
- 支持 2FA 认证器和 U2F
- 支持硬件认证器 YubiKey 和 Duo
- 紧急访问功能
这篇文章帮助大家在服务器上安装 Vaultwarden。
1. SSH 登入服务器
Vaultwarden 的 Docker 容器不需要很高的主机配置来运行,这里使用一款基础的 1 CPU Core,2G RAM 的 VPS,运行 Debian 11 系统,来进行安装测试。
首先使用 SSH 端登入 VPS 终端。
2. 安装 Docker 与 Docker Compose
如果主机没有安装好 Docker 与 Docker Compose,可以参考这篇文章安装好 Docker 与 Docker Compose。
3. 安装 Vaultwarden
我们给 Vaultwarden 创建一个项目文件夹 /vaultwarden
,推荐在 /home
目录下创建,
cd /home
mkdir vaultwarden
cd vaultwarden
再创建好 docker-compose.yml
文件,
touch docker-compose.yml
然后使用文本编辑器写入以下内容,
version: '3.9'
services:
server:
image: 'vaultwarden/server:latest'
ports:
- '80:80'
restart: unless-stopped
volumes:
- '/data/:/data/'
container_name: vaultwarden
这里可以通过 Linux 系统自带的文本编辑器 vi 打开 docker-compose.yml
,
vi docker-compose.yml
按 i
切换到编辑模式,再将上面的内容粘贴进去,完成后先按一下 esc,然后输入 :wq
保存退出;
也可以使用 FinalShell 的可视化编辑功能,双击打开 /home/dokemon/docker-compose.yml
,直接将上面的内容粘贴进去。
最后就是经典的 Docker,启动!命令,
docker-compose up -d
等待一会,打开本地浏览器输入 IP:80 即可开始访问搭建好的 Vaultwarden。
4. 配置反向代理
Vaultwarden 使用了 Web Crypto APIs 组件,而大多数现代 Web 浏览器不允许在不安全的环境中使用 Web Crypto APIs,因此我们先给 Vaultwarden 配置一下反向代理、设置好域名证书。
反向代理需要一个可用的域名。
可以参考这篇文章,使用 Cloudflare Tunnel 作为反向代理工具,例如我这里使用了子域名 vaultwarden.044447.xyz 来访问 Vaultwarden。
5. Vaultwarden 使用
第一次打开 Vaultwarden,先创建一个用于登录 Vaultwarden 的账号,
输入邮箱、密码、密码提示,勾选此密码泄露时通知我,点击 Create account 创建账号,
进入到主页的密码管理界面,根据组织、文件夹进行分类,Vaultwarden 不仅可以对某个网站进行密码管理,还可以保存网站的信用卡、付款信息,以及创建笔记,
点击 New 创建一个项目,主要填这几个属性:
- Name:网站名称
- Folder:网站分类
- Username:该网站的账号名称
- Password:该网站的账号密码,可以使用 Vaultwarden 自动生成
- URL1:网站的 URL 地址
在上方的 Send 下,可以选择发送、分享文本和文件,
Tools 下,有密码生成器,导入和备份 Vaultwarden 密码库工具。
注意我们自己托管的 Vaultwarden 服务一定要记住邮箱名和密码,如果忘记了密码,是不能通过发送恢复邮件找回的。