
在密码管理工具的「芸芸众生」之中,Bitwarden 是我最为青睐的一款。它不仅功能全面,采用开源架构,更重要的是支持在云主机或 HomeLab 等自托管环境中部署。通过自建服务器,你可以将密码和身份验证凭据牢牢掌握在自己的手中,再也不用担心敏感信息被服务提供商或第三方获取。
采用 Bitwarden 的混合架构后,你可以把核心密码保存在本地服务器,同时将其他数据同步到 Bitwarden 的云端服务,这样就同时兼顾了安全性和灵活性。
01. 什么是 Vaultwarden 服务?
尽管 Bitwarden 官方的服务器方案已经十分出色,但是比较吃硬件资源 😂。为此,GitHub 上的大拿 Dani Garcia 开发了 Vaultwarden,来作为 Bitwarden 的轻量级自托管替代方案。
Vaultwarden 采用了 Rust 编写,完全兼容 Bitwarden 客户端协议,支持通过 Docker 或 Podman 极速部署,几分钟内就能完成上线,极为便捷。尤其适合服务器资源有限、追求轻量化的用户。
我亲自入坑过 Bitwarden 和 Vaultwarden 的服务端方案。实测下来,Vaultwarden 的部署速度更快,功能也足够丰富,推荐你也上手一试。
那么,Vaultwarden 和 Bitwarden 之间有哪些具体差异呢?以下几点可以帮助你快速了解:
- 安全性:都采用了端到端加密(E2EE)来保护「密码库」数据。不过,Vaultwarden 使用了一种名为 Crypton 的专有算法,类似于 Signal 的加密方案,一定程度上甚至比 Bitwarden 的 OpenPGP 端到端加密更加安全。
- 用户界面:两者的界面风格相似,但不完全一致。Vaultwarden 的布局稍有不同,并且提供了内置密码管理器等额外功能,导航体验也略有区别。
- 服务端实现:Vaultwarden 采用了去中心化的服务器架构,各用户的数据加密后会分散存储,仅在客户端解密。相比 Bitwarden 的传统客户端-服务器(C/S)模式,这种设计在数据安全性上更具优势。
作为 Bitwarden 的轻量级替代品,Vaultwarden 自然继承了它的诸多核心功能,例如:
- 支持多设备同步。
- 端到端加密保护。
- 密码生成器:可以随机生成高强度密码、口令和用户名。
- 安全分享:可以与他人安全共享敏感信息。
- Android 和 iOS 移动端应用覆盖。
接下来,我将以 Docker 部署方式为例,简要介绍 Vaultwarden 的上线流程。
02. 安装 Docker 环境
Vaultwarden 服务通常需要在多设备间同步数据,并通过公网访问。因此,建议优先选择一台稳定的 Linux 服务器或 Windows Server,来作为 Docker 的部署环境。 虽然你也可以在桌面版的 Linux 或 Windows 上部署,但关机后服务不就掉线了么 🥲……
- 主流 Linux 发行版:推荐使用 LinuxMirrors 提供的 Docker 一键部署脚本,适用于绝大多数主流发行版,使用起来也非常方便:
bash <(curl -sSL https://linuxmirrors.cn/docker.sh)
- Ubuntu 服务器:如果你使用的是 Ubuntu Server,可以手动安装 Docker 引擎、组件并更换 DockerHub 国内源。
- Windows Server:当然,你也可以在 Windows Server 2025 上安装 Hyper-V Docker 容器。
03. 部署 Vaultwarden 实例
Docker 环境准备就绪,现在就可以正式部署 Vaultwarden 了:
1服务部署:执行以下命令,拉取 Vaultwarden 镜像并启动实例:
docker run --detach --name vaultwarden \
--volume /vaultwarden/data/:/data/ \
--restart unless-stopped \
--publish 80:80 \
vaultwarden/server:latest
记得将volume
指定到本地一个实际存在的数据存放位置。另外,虽然 Vaultwarden 也支持直接启用 HTTPS,但为了便于长期维护,我更推荐使用 Nginx 反代来提供 HTTPS 服务。
2状态检查:稍等片刻,容器会自动拉起。你也可以通过以下命令查看运行状态:
docker ps -a

在列表中看到状态为healthy
就表示部署成功,可以进入下一步操作。
3反向代理:在服务器上装一个你喜欢的反代服务,比如 Nginx 或 Caddy,然后再去 Vaultwarden 官方提供的反代配置示例中,Kiang 一个过来使用。例如:
upstream vaultwarden-default {
zone vaultwarden-default 64k;
server 192.168.100.4:3210;
keepalive 2;
}
map $http_upgrade $connection_upgrade {
default upgrade;
'' "";
}
server {
listen 80;
server_name vaultwarden.demo.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
listen 443 quic;
http2 on;
server_name vaultwarden.demo.com;
ssl_certificate /root/.acme.sh/XXX/fullchain.cer;
ssl_certificate_key /root/.acme.sh/XXX/osgeek.link.key;
add_header Alt-Svc 'h3=":443"; ma=86400';
add_header Strict-Transport-Security "max-age=31536000" always;
client_max_body_size 525M;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
location / {
proxy_pass http://vaultwarden-default;
}
}
4公网发布:如果你使用的是云主机,记得开启防火墙;如果是 HomeLab 环境部署,则需要自行发布公网访问。这部分内容本文不做详细展开。
04. 访问 Vaultwarden 服务
1在电脑上打开浏览器,访问http://SERVER
打开 Vaultwarden 的登录页面,SERVER
需要替换为实际的服务器域名或 IP 地址。
2点击「创建账户」,按照提示填写相关信息并完成新用户注册。

3登录管理界面后,根据需求完成初始设置。例如,从其他平台导入密码库,或者手动录入各类密码条目。

4在桌面应用、移动端应用或浏览器的 Bitwarden 插件中,选择「自托管」服务,然后填入「服务器 URL」连接到本地 Vaultwarden 实例。

通过 Docker 部署 Vaultwarden,能帮你在几分钟内搭建起一套轻量、安全的自托管密码管理服务。如果你也在寻找一款开源、灵活且易于部署的密码管理工具,Vaultwarden 是非常值得一试的优秀方案。
最新评论
niubi
不知名软件:怪我咯!😏
在Win11下,第一次安装完后不要急着用,建议先重启一下。(我直接用的时候打开虚拟机报错了,重启后就正常了)
自动维护还是很重要的,我的就被不知名软件关闭了,导致系统时间落后正常时间15秒。用优化软件的一定要注意。