在 VPS.Town 上部署 Vaultwarden 密码管理器完全指南

温馨提示

本文由用户 biebiele 撰写,并已加入 VPS.Town 优秀原创文章激励计划,未经允许不得转载。

本文已通过 VPS.Town 社区文章投稿及奖励规则 (试行稿) 审核,并获得 -- 奖励。

📖 本文目录

前言

在当今数字化时代,我们每天都需要使用大量的账号和密码。使用简单或重复的密码会带来严重的安全风险,而记住众多复杂密码又几乎不可能。这就是为什么我们需要一个可靠的密码管理工具。

Vaultwarden 是 Bitwarden 的一个非官方实现,它是一个开源的密码管理解决方案,允许您安全地存储和管理您的密码、信用卡信息、身份信息和其他敏感数据。与商业密码管理器不同,Vaultwarden 可以自托管,这意味着您的数据完全由您自己控制,不依赖于第三方服务。

为什么选择 Vaultwarden

相比其他密码管理工具,Vaultwarden 具有以下优势:

  • 完全开源,代码透明可审计
  • 可以完全控制自己的数据
  • 资源占用低,适合在 VPS 上运行
  • 支持所有主流平台和浏览器

Vaultwarden 的主要特点:

  • 开源且免费:完全开源,无需支付订阅费用
  • 自托管:您的数据存储在您自己的服务器上,提高隐私保护
  • 跨平台支持:提供 Windows、macOS、Linux、iOS 和 Android 客户端
  • 浏览器扩展:支持 Chrome、Firefox、Safari 等主流浏览器
  • 强大的加密:使用 AES-256 加密、PBKDF2 和 SHA-256 哈希算法
  • 资源占用低:相比官方 Bitwarden 服务器,Vaultwarden 对系统资源要求更低
  • 功能丰富:支持密码生成、安全笔记、身份信息管理、文件附件等
安全提示

在开始部署之前,请确保:

  1. 您的服务器已经配置了防火墙
  2. 使用 HTTPS 访问 Vaultwarden
  3. 定期备份您的数据
  4. 使用强密码保护您的账户

本教程将指导您如何使用 Docker 在自己的服务器上部署 Vaultwarden,并进行基本配置和使用。

适用环境

本教程适用于 Ubuntu 22.04 系统,其他 Linux 发行版可能需要调整部分命令。

1. 安装 Docker 和 Docker Compose

# 更新软件包索引,下载 Docker 官方 GPG 密钥,并允许所有人读取
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# 将 Docker 仓库添加到 Apt 源列表
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

# 安装 docker 软件包
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

# 启动 docker 服务和开机自启
systemctl enable docker
systemctl restart docker

# 验证安装
systemctl status docker
docker compose version
验证安装
● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since ...

2. 安装 vaultwarden

准备工作

在开始安装之前,请确保:

  1. 已经配置好域名并指向您的服务器
  2. 已经安装好 nginx 并配置好 SSL 证书
  3. 防火墙已开放相应端口
bash
# 创建数据目录
mkdir -p /opt/vaultwarden
cd /opt/vaultwarden

# 创建 docker-compose.yml 文件
sudo cat > /opt/vaultwarden/docker-compose.yml <<EOF
services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      DOMAIN: "https://vw.domain.tld/vault"  ## 修改为您自己的域名
    volumes:
      - ./vw-data/:/data/
    ports:
      - 10080:80  ## (可选)修改前面的映射端口
EOF

# 启动服务
docker compose up -d

执行docker ps查看程序启动状态 Docker 容器运行状态检查

3. 配置反向代理

反向代理配置

我们建议使用 Nginx 作为反向代理,并配置 SSL 证书以确保安全。

nginx 为例,修改 nginx.conf,添加类似于如下配置:

location /vault/ { # 注意这个路径和上面 docker 配置的域名路径名一致
    proxy_http_version 1.1;
    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;
    proxy_pass http://127.0.0.1:10080;
}

重启 nginx:service nginx restart

使用浏览器访问 https://vw.domain.tld/vault

4. 账户设置和浏览器插件使用

4.1 创建账户

  1. 点击"创建账户" 创建新账户界面

  2. 填写您的账户信息 账户信息填写表单

密码安全
  • 使用强密码(至少 12 个字符,包含大小写字母、数字和特殊字符)
  • 建议使用密码生成器生成主密码
  • 妥善保管您的主密码,这是恢复账户的唯一方式
  1. 创建完成后,登录您的账户 登录界面

4.2 安装浏览器扩展

  1. 安装扩展 浏览器扩展安装指引

  2. 配置扩展信息,固定到标签栏 扩展配置和固定到标签栏

  3. 选择自托管,输入您的域名(如 https://vw.domain.tld/vault),再输入您注册的账户和密码 自托管服务器配置界面

  4. 之后登录或注册网站时,会提示您是否要保存密码 密码保存提示界面

5. 安全建议

重要安全提示
  1. 定期备份您的数据目录(/opt/vaultwarden/vw-data/
  2. 启用双因素认证(2FA)
  3. 定期更新 Vaultwarden 到最新版本
  4. 监控服务器日志,及时发现异常
  5. 使用强密码保护您的账户

6. 故障排除

6.1 常见问题

  1. 无法访问 Web 界面

    • 检查 Docker 容器是否正常运行:docker ps
    • 检查端口是否正确映射:netstat -tulpn | grep 10080
    • 检查 Nginx 配置是否正确
  2. 无法保存密码

    • 检查浏览器扩展是否正确配置
    • 确认服务器地址是否正确
    • 检查网络连接是否正常
  3. 数据同步问题

    • 检查服务器状态
    • 尝试重新登录账户
    • 检查网络连接

6.2 日志查看

# 查看容器日志
docker logs vaultwarden

# 实时查看日志
docker logs -f vaultwarden

7. 备份与恢复

7.1 备份数据

# 创建备份目录
mkdir -p /backup/vaultwarden

# 备份数据
tar -czf /backup/vaultwarden/backup-$(date +%Y%m%d).tar.gz /opt/vaultwarden/vw-data/

7.2 恢复数据

# 停止服务
cd /opt/vaultwarden
docker compose down

# 恢复数据
tar -xzf /backup/vaultwarden/backup-YYYYMMDD.tar.gz -C /

# 重启服务
docker compose up -d
备份建议
  • 建议设置自动备份脚本
  • 将备份文件存储在安全的位置
  • 定期测试备份的可用性

8. 更新 Vaultwarden

# 进入项目目录
cd /opt/vaultwarden

# 拉取最新镜像
docker compose pull

# 重启服务
docker compose up -d
更新建议
  • 更新前先备份数据
  • 关注 Vaultwarden 的更新日志
  • 建议定期检查更新