密码不想继续交给浏览器保存?群晖部署 Vaultwarden,搭建自己的密码库

前言:密码管理的风险

密码管理器解决的并不只是"记不住密码"这个问题。

账号越来越多以后,更合理的做法是给不同网站使用独立的复杂密码,再由专门的密码管理器负责保存、同步和自动填充。Vaultwarden 提供的是一套自托管方案:服务端运行在自己的 NAS 或服务器上,日常使用时仍然可以配合 Bitwarden 的浏览器扩展和客户端完成密码保存、生成、同步与自动填充。

本文会在群晖 NAS 上通过 Docker 部署 Vaultwarden,把 /data 持久化到 NAS 存储目录,再通过 HTTPS 地址完成 Web Vault 的正常访问。这里 HTTPS 并不只是为了地址栏显示一把"小锁",Vaultwarden 的 Web 密码库本身就需要安全上下文才能正常调用相关加密 API。

本地服务运行正常以后,再使用 cpolar 为 8088 端口增加 HTTPS 外部访问入口和固定二级子域名,并把这个地址配置到 Bitwarden 浏览器扩展的"自托管环境"中。

后面还会继续实际测试密码生成、自动填充、已有密码导入以及安全报告。整套方案的重点并不是"把密码放到家里就绝对安全",而是把密码库的部署位置、访问入口和备份方式掌握在自己手中,同时承担起相应的安全配置责任。

1 Vaultwarden 简介与核心优势

Vaultwarden 是一款开源的密码管理解决方案,用于安全存储和管理密码等敏感数据。

  • 完全私有:数据全部存放在自己的设备(如 NAS)中,不上传任何第三方云端。

  • 端到端加密:只有你自己能解密,真正做到隐私自由。

  • 安全防护

    • 支持个人 API 密钥,强化数据访问安全。
    • 支持全方位多因素认证(MFA),包括验证器 App、邮箱、FIDO2、YubiKey 等。
    • 提供紧急访问功能,可设置可信联系人,特殊情况下也能调取保险库数据。
  • 客户端兼容:完美适配 Bitwarden 官方的手机 App、电脑客户端和浏览器插件,无需换软件即可无缝切换。

  • 密码生成器:一键生成包含大小写字母、数字、符号的超长复杂密码。

  • 附件存储:可加密保存证书扫描件、软件许可证、照片等文件。

  • 自动图标:保存网站账号后自动获取并显示对应网站图标,方便识别。

  • 管理后台与 Web 客户端:自带优化版 Web 界面,无需复杂配置即可使用,适合个人或小团队。

2 部署环境说明

  • 本教程以 群晖 Synology NAS + Docker 为例演示部署。

  • 将密码库部署在 NAS 上可实现 24 小时挂机、超低功耗、数据本地存储并自动备份。

  • 其他小主机或 Linux 服务器操作步骤大同小异。

3 使用 Docker 在群晖 NAS 上部署 Vaultwarden

部署步骤

  • 通过 SSH 终端登录群晖 NAS。
  • 执行 sudo -i 进入管理员模式。
  • 粘贴并执行一键部署命令:
bash 复制代码
mkdir -p /volume1/Vaultwarden/data && \
docker pull vaultwarden/server:latest && \
docker run --detach \
  --name vaultwarden \
  --env DOMAIN="https://vw.domain.tld" \
  --volume /volume1/Vaultwarden/data:/data \
  --restart unless-stopped \
  --publish 8088:80 \
  vaultwarden/server:latest
  • 该命令会自动创建数据目录、拉取镜像并启动容器。
  • 端口映射为 8088:80,避开群晖默认 80 端口占用问题。
  • DOMAIN 建议填写你最终要使用的 HTTPS 域名(例如 cpolar 生成的域名)。

4 首次访问与 HTTPS 警告

  • 安装完成后,在浏览器访问 http://<NAS_IP>:8088
  • 页面会弹出提示:Vaultwarden 的加密 API(Subtle Crypto API)需要在 HTTPS 安全上下文中运行,当前 HTTP 明文访问不符合要求。
  • 这个警告说明必须通过 HTTPS 访问,下一步使用 cpolar 即可解决。

5 通过 cpolar 实现 HTTPS 与外网访问

下面是安装cpolar步骤:

cpolar 提供了群晖安装的套件,点击下面Cpolar群晖套件下载地址,下载相应版本的群晖Cpolar套件,如果找不到对应的型号,可以选择相近版本型号套件。

打开群晖套件中心,点击右上角的手动安装按钮。

选择我们本地下载好的cpolar套件安装包,然后点击下一步

点击同意按钮,然后点击下一步

最后点击完成即可。

安装完成后,在外部浏览器,我们通过群晖的局域网ip地址9200端口访问Cpolar的Web管理界面,然后输入Cpolar邮箱账号与密码进行登录,登录后,一切的操作在管理界面完成.

6 登录并创建隧道

  • 安装完成后,访问 http://<NAS_IP>:9200 登录 cpolar Web 管理界面。
  • 点击 创建隧道

    • 隧道名称:自定义。
    • 本地地址:8088
    • 域名类型:选择 二级子域名(需要固定公网地址)。

7 保留二级子域名

  • 登录 cpolar 官网,进入 预留 > 保留二级子域名
  • 地区选择 China Top ,后缀为 .top,名称自定义后点击 保留
  • 复制保留好的子域名,回到群晖 cpolar 配置界面的域名框中粘贴,然后点击 创建

8 获取公网地址并访问

  • 创建成功后,打开左侧 在线隧道列表,可以看到生成了 HTTP 和 HTTPS 两条二级子域名地址。
  • 使用其中的 HTTPS 地址访问 Vaultwarden,HTTPS 警告会直接消失。
  • 此时无论在公司还是出差,都能通过该地址安全访问家里的密码库。

9 Vaultwarden 基础使用

创建账户

  • 首次打开 Vaultwarden Web 端,点击 创建账户
  • 填写电子邮箱地址和名称。
  • 设置主密码:必须至少 12 个字符,并填写密码提示。
  • 完成注册后进入密码库主页。

左侧导航功能

  • 密码库:新建条目保存 B 站、博客、游戏、工作后台等账号;系统会自动抓取网站图标。
  • Send:加密发送文本或文件,可与他人安全共享。
  • 工具 > 生成器:一键生成复杂密码,注册新账号时可直接使用并自动保存。
  • 导入:一次性导入已备份好的密码文件。
  • 导出:将当前密码库导出备份。
  • 报告:识别密码库中的安全漏洞,如弱密码、重复密码、泄露密码、未启用两步登录等。
  • 设置:开启两步登录(MFA)、查看登录设备、修改主题和语言等。

浏览器扩展配置与自动填充

安装与配置

  • 在 Vaultwarden 密码库页面点击 安装浏览器扩展 ,跳转到浏览器扩展商店安装 Bitwarden Password Manager
  • 安装完成后点击扩展图标,下滑找到 自托管环境 选项。
  • 在服务器 URL 处填写 cpolar 生成的 HTTPS 地址
  • 使用在 Vaultwarden 注册的邮箱和主密码登录,扩展即与密码库同步。

自动填充设置

  • 点击扩展中的 设置 > 自动填充

    • 勾选 将 Bitwarden 设置为默认密码管理器(避免与浏览器内置密码管理器冲突)。
    • 勾选 页面加载时自动填充,打开登录页即可自动填充账号密码。

使用演示

  • 访问 B 站等登录页面时,点击浏览器右上角 Bitwarden 扩展图标,即可自动识别并填充账号密码。
  • 首次在飞牛 NS 等页面登录成功后,扩展会提示保存该账号,选择保存即可同步到 Vaultwarden 服务器。

全平台密码迁移与同步

  • 打开浏览器设置中的 密码 选项,导出已保存的所有密码,格式选择 CSV
  • 回到 Vaultwarden Web 端,使用 导入 功能上传该 CSV 文件。
  • 导入完成后,所有密码即可在 Vaultwarden 各端同步使用。

总结

部署完 Vaultwarden 以后,真正发生变化的并不是"以后终于不用记密码了",而是密码管理方式开始从重复使用、浏览器零散保存,变成一套相对完整的密码库体系。

群晖负责长期运行 Vaultwarden 和保存持久化数据,Bitwarden 浏览器扩展负责日常登录时的保存与自动填充,密码生成器则可以让不同网站使用彼此独立的复杂密码。已有密码也可以通过导入功能迁移进来,不过从浏览器导出的 CSV 往往包含明文账号和密码,完成迁移后应及时安全删除这类中间文件。

通过 cpolar 配置 HTTPS 外部访问以后,在其他网络环境中也可以继续连接自己的 Vaultwarden 服务。但对于密码库来说,"能从公网访问"只是功能完成了一半,另一半是安全配置:使用足够强的主密码、开启 MFA、保护好 NAS 管理权限,并在不需要其他人自行创建账户时关闭公开注册。

同时,Vaultwarden 的 /data 目录本身也需要纳入备份计划。自托管意味着数据由自己掌握,但也意味着设备故障、误删除和备份恢复同样要由自己负责。

所以 Vaultwarden 更适合那些愿意自己维护服务的人。它的价值不是承诺"绝对不会泄露",而是在便利、隐私和控制权之间,给了用户另一种可以自己管理的选择。

相关推荐
风曳丷40 分钟前
07|Instruction Hierarchy 不是安全边界
后端
灯澜忆梦41 分钟前
【基于GO的Web开发11】gin获取URL‑Path 路径参数
前端·后端·golang·html·gin
高频因子挖掘机42 分钟前
Python批量获取1000只ETF 5分钟K线:从分页到吞吐量优化的QuantDash实践
后端·算法·github
Rain的Java大神之路42 分钟前
SkyWalking从0-1部署成功实战
java·后端·架构
就叫飞六吧43 分钟前
Spring 动态注册与移除 Bean 科普
java·后端·spring
用户81818706274644 分钟前
第11章 一次线上Full GC频繁的完整排查记录:从监控告警到根因定位
后端
围炉聊科技1 小时前
OpenAdapt:录制一次,确定性回放
人工智能·后端·架构
SkyStream1 小时前
AI Agent 三件套:Skill、Tool、MCP 到底啥区别?我拆了一个真实部署技能给你看
后端