📅 最后更新于 2026-06-23
用 VPS 自建密码管理器
1Password $36/年、LastPass $48/年。Vaultwarden 能让你用一台 512MB 的 VPS 替代所有这些订阅——而且是开源的,数据完全在你手里。
Vaultwarden 是什么?
Vaultwarden 是 Bitwarden 服务器端的 Rust 重写版,和 Bitwarden 官方客户端完全兼容(浏览器插件、手机 App、桌面客户端都能用)。它的资源消耗只有官方 Bitwarden 服务器的 1/10——一台 512MB VPS 就能跑得很稳。
自建后你能得到:
- 所有密码、密钥、笔记加密存储在自己的 VPS 上
- 支持 TOTP 两步验证码生成(替代 Google Authenticator)
- 支持 Passkey 无密码登录
- 支持密码共享和家庭/团队组织
- 浏览器自动填充、手机指纹解锁
- 数据通过端到端加密,服务器管理员也看不到你的密码
需要什么配置?
Vaultwarden 是资源占用最小的自托管工具之一。官方 Docker 镜像运行时内存约 50-100MB,加上 SQLite 数据库,512MB 的总内存已经绰绰有余。
个人使用
- 1 vCPU
- 512 MB 内存
- 10 GB SSD
- 适合:个人密码库,几百条记录
- 月费约 $2-3
家庭/小团队
- 1 vCPU
- 1 GB 内存
- 20 GB SSD
- 适合:3-10 人共享,含文件附件
- 月费约 $3-5
有余量
- 1-2 vCPU
- 2 GB 内存
- 30 GB SSD
- 适合:密码库 + 网站 + 监控一起跑
- 月费约 $5-10
部署步骤
1. 安装 Docker
apt update && apt upgrade -y curl -fsSL https://get.docker.com | sh 2. 创建 docker-compose.yml
mkdir -p /opt/vaultwarden && cd /opt/vaultwarden 复制以下内容:
version: '3.8'
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
ports:
- "8080:80"
volumes:
- vw_data:/data
environment:
- DOMAIN=https://vault.yourdomain.com
- SIGNUPS_ALLOWED=false
- WEBSOCKET_ENABLED=true
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
volumes:
vw_data: 3. 启动
docker compose up -d 4. 配置 HTTPS(必须)
密码管理器必须走 HTTPS。推荐用独立的 Nginx Proxy Manager 做反向代理:
docker run -d --name npm --restart unless-stopped -p 80:80 -p 443:443 -p 81:81 -v npm_data:/data -v npm_ssl:/etc/letsencrypt jc21/nginx-proxy-manager:latest 登录 http://IP:81(默认 [email protected] / changeme),添加 vaultwarden 的反向代理并申请 SSL。
5. 注册账号并关闭公开注册
通过 HTTPS 地址访问,创建第一个账号。完成后把 SIGNUPS_ALLOWED 改为 false(上面配置已经是 false),重启容器:
docker compose restart 客户端怎么连?
所有 Bitwarden 客户端都可以连接 Vaultwarden:
- 浏览器插件:Chrome / Firefox / Edge 扩展商店搜 Bitwarden,登录时点设置图标,输入你的 Vaultwarden 服务器地址
- 手机 App:iOS / Android 搜 Bitwarden,同样在登录页设置自托管服务器地址
- 桌面客户端:Windows / macOS / Linux 都有官方客户端
所有客户端的密码库会自动同步,加一条密码几秒内所有设备都有。
备份策略(极其重要)
密码库是你最重要的数据。备份分两层:
- 自动备份数据库:Vaultwarden 用 SQLite 存数据,停掉容器后打包
/data目录即可。建议每天定时用 cron + rsync 备份到另一台 VPS 或本地 NAS。 - 手动导出 JSON:在 Web Vault 中「工具 → 导出密码库」,选择未加密 JSON 或加密 JSON。把这个文件存到 U 盘或离线硬盘上,这是最后兜底。
- 不要只依赖 VPS 快照:快照在服务器故障时可能不可用。多重备份才安全。
用哪家 VPS?
选 VPS 的核心思路:密码管理器数据敏感,优先选择运营稳定的商家,而不是追求最便宜。德国和美国成熟商家更合适。
| 商家 | 推荐配置 | 月费 | 优势 |
|---|---|---|---|
| Hetzner | CX22 (2GB) | €3.79/月 | 德国老牌,数据中心安全标准高,IP 稳定 |
| InterServer | 1 Slice (2GB) | $3/月 | 美国老牌,26 年运营历史,价格稳定 |
| RackNerd | 1GB KVM | $15-20/年 | 价格最低,但注意备份 |
| Vultr | 1GB Cloud Compute | $6/月 | 全球机房,按小时计费先测试 |
选择建议
- 不需要 CN2 GIA:密码管理器是完全后台服务,所有客户端先本地解密再和服务器同步。延迟 50ms 和 200ms 几乎没有区别。
- 不要用年付廉价机存密码:RackNerd 很便宜,但如果只跑密码库,选一台运营历史更长的商家更安心。数据丢了比多花 $2/月严重得多。
- 套一层 Cloudflare Tunnel(可选):如果不想暴露 VPS IP,可以用 Cloudflare Tunnel 做零信任代理,不需要开放任何入站端口。
常见问题
常见问题
Vaultwarden 和 Bitwarden 官方有什么区别?
功能完全兼容,Vaultwarden 是第三方重写版,核心区别是资源占用和价格。Vaultwarden 用 Rust 写了 Bitwarden 服务器端的全部功能,内存从官方要求的 2GB 降到 50MB,对 VPS 的要求极低。官方版的部分高级功能(如企业 SSO)Vaultwarden 不支持,但个人和家庭使用完全够用。
服务器管理员能看到我的密码吗?
看不到。Bitwarden/Vaultwarden 的加密逻辑是端到端的:密码在浏览器/App 本地先 AES-256 加密,然后才上传到服务器。服务器只存密文,没有你的主密码就无法解密。即使有人拿到了 Vaultwarden 数据库文件,也无法读出你的密码。
如果 VPS 挂了我的密码还在吗?
在。每个 Bitwarden 客户端(浏览器、手机 App、桌面端)都缓存了完整的加密密码库。即使服务器离线,你仍然可以查看现有密码,只是不能添加新密码或同步。这就是设了自动备份的原因——服务器恢复后可以从备份还原。
可以替代 Google Authenticator 吗?
可以。Vaultwarden 支持 TOTP 两步验证码生成。你存网站密码的同时,Vaultwarden 可以生成对应的 6 位验证码,登录时自动填充。不再需要单独打开 Google Authenticator。但安全上建议把主密码的 2FA 放在另一个 App 上。
Vaultwarden 能存文件附件吗?
可以。支持在密码条目中附加文件(如 SSH 私钥、证书、合同扫描件)。附件同样加密存储。如果有大量附件需求,建议选 20GB+ SSD 的 VPS。