DIY NAS系列18 — 密码管理之 Bitwarden

20250125 记:最近在 Google Play 更新 Bitwarden 客户端后,发现无法正常登录 Vaultwarden,查看官方 Discussions v1.21.0 已经更名 Bitwarden_RS 为 Vaultwarden。此外对应兼容 Vaultwarden 的 Bitwarden 手机客户端也变更了 Github 仓库,为此特地对 Vaultwarden 进行升级,并切换至最新客户端版本。

简介

Bitwarden 是一款可靠的开源密码管理服务,提供了安全和便捷的方式来存储所有您的密码和其他敏感信息。这款软件的目标就是让您的数字生活更安全、更简单,并将其加密保存在您自己的服务器上。Bitwarden 可以在所有主流的操作系统、浏览器和设备上使用,这包括:Windows、macOS、Linux、Android 和 iOS。无论您是在电脑上浏览网页,还是在手机上使用应用,Bitwarden 都能提供无缝的密码管理体验。

Bitwarden 最大的特点是它的安全性。所有的用户数据都会在本地设备上进行端到端的加密,然后再上传到服务器。这意味着,即使 Bitwarden 的服务器被黑客攻击,您的密码和其他敏感信息也不会被窃取,因为他们只能看到加密后的数据。Bitwarden 还提供了一些高级的安全功能,例如双因素认证和主密码提示。通过双因素认证,即使有人知道了您的主密码,他们也无法登录您的 Bitwarden 帐户。主密码提示则是一个安全问题,可以帮助您在忘记密码时找回您的帐户。此外,Bitwarden 还有一些方便用户使用的功能。例如:它可以自动填充网页上的用户名和密码字段,让您无需记住所有的密码。它还有一个密码生成器,可以帮助您创建复杂、难以破解的新密码。总的来说,Bitwarden 是一个强大、安全且易于使用的密码管理工具。无论您是个人用户还是企业用户,都可以考虑使用 Bitwarden 来保护您的数字资产。

官方网站参考:Best Password Manager for Business, Enterprise & Personal | Bitwarden | Bitwarden

但今天木子要聊的是 Bitwarden 的平替 Vaultwarden,简单理解 Vaultwarden 是 Bitwarden 服务器端功能的开源重新实现,但是所有客户端还是使用 Bitwarden 官方的。这与 Headscale 一样, Headscale 主要实现 Tailscale 的服务器端功能,客户端还是使用 Tailscale 官方的。

这里使用 Vaultwarden 的 Docker 发行版镜像来部署,因为它使用 Rust 重构了服务端,速度更快、资源占用更小。

Vaultwarden GitHub 地址:GitHub – dani-garcia/Vaultwarden

安装 Vaultwarden

说明: 基于前期构建的 traefik 网关,详见: DIY NAS系列12 — Traefik 出口网关配置
docker-compose.yaml 文件中,会对重要的配置进行说明,因个人网络环境等不同,需要根据自身实际情况调整配置。

[root@demo vaultwarden]# cat > docker-compose.yml << \EOF
version: "3"

services:
  vaultwarden:
    image: vaultwarden/server:1.32.7
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      - SIGNUPS_ALLOWED=false # 开启注册,自己注册后改成false,再重启 Docker 服务。
      - WEBSOCKET_ENABLED=false # 禁用 WebSocket
      - WEB_VAULT_ENABLED=true # web客户端
      - DOMAIN=https://passwd.rockylinux.cn # 设置域名,需要替换成自己申请的域名
    volumes:
      - /SSD/Demo/vaultwarden/data/:/data/
    expose:
      - 80
#      - 3012 # 3012 端口为 WebSocket 通讯端口
    networks:
      - traefik_net
    labels:
      - "traefik.enable=true"
      - "traefik.docker.network=traefik_net"
      - "traefik.http.routers.vaultwarden.rule=Host(`passwd.rockylinux.cn`)"
      - "traefik.http.routers.vaultwarden.entryPoints=websecure"
      - "traefik.http.routers.vaultwarden.tls.certresolver=myresolver"
      - "traefik.http.routers.vaultwarden.service=vaultwarden"
      - "traefik.http.services.vaultwarden.loadbalancer.server.port=80"
      - "traefik.http.services.vaultwarden.loadbalancer.server.scheme=http"
      # 如果您无法理解以下相关配置,直接原样复制即可。
#      - "traefik.http.routers.vaultwarden-http.rule=Host(`passwd.rockylinux.cn`)"
#      - "traefik.http.routers.vaultwarden-http.entryPoints=web"
#      - "traefik.http.routers.vaultwarden-http.service=vaultwarden"

#      - "traefik.http.routers.bitwarden-websocket.rule=Host(`passwd.rockylinux.cn`) && Path(`/notifications/hub`)"
#      - "traefik.http.routers.bitwarden-websocket.entrypoints=websecure"
#      - "traefik.http.routers.bitwarden-websocket.tls.certresolver=myresolver"
#      - "traefik.http.routers.bitwarden-websocket.service=bitwarden-websocket"
#      - "traefik.http.services.bitwarden-websocket.loadbalancer.server.port=3012"

#      - "traefik.http.routers.bitwarden-websocket-http.rule=Host(`passwd.rockylinux.cn`) && Path(`/notifications/hub`)"
#      - "traefik.http.routers.bitwarden-websocket-http.entrypoints=web"
#      - "traefik.http.routers.bitwarden-websocket-http.service=bitwarden-websocket"
networks:
  traefik_net:
    external: true
EOF

# 启动服务
[root@demo memos]# docker-compose up -d
特别提醒
在 Vaultwarden v1.30.4 及以上版本中,已经将 WebSockets 功能集成到 HTTP 服务,所以不再需要 3012 端口,对应的 Traefik 关于 WebSockets 的配置可以移除。详细参考: https://github.com/dani-garcia/vaultwarden/releases/tag/1.30.4

部署完成以后,正常通过 https://passwd.rockylinux.cn 打开 Web 客户端,并设置对应登录账号、密码、MFA 认证即可。

手机客户端

由于多客户端支持的加持,使得使用体现真得非常棒,再也不需要进行密码记忆或手动管理密码了,此外,手机端还支持指纹与人脸识别解锁,非常方便。

Bitwarden Android 旧版本客户端下载:Bitwarden/mobile,支持 vaultwarden/server:1.30.5 镜像
Bitwarden Android 新版本客户端下载:Bitwarden/Android,支持 vaultwarden/server:1.32.7 镜像

当然也可以从 Google Play 或 F-Droid 直接下载安装最新版本客户端。

macOS 客户端

macOS 可以直接从 AppStore 安装,或者从 Github Bitwarden/macOS Windows Linux 下载 dmg 包手动安装即可。

macOS 客户端支持触控 ID 解锁,点击“Bitwarden” — “设置” 进行设置,具体参数下图所示。

浏览器扩展

Chrome、Firefox、Edge、Opera 等浏览器扩展,可以通过对应应用商店安装,也可以通过 Github 下载 Bitwarden 浏览器扩展 安装。
Chrome 应用商店安装地址:Chrome 应用商店 – 扩展程序

对应配置比较简单,如下图所示,配置自托管,输入服务器 URL、账号、密码即可登录。

BitWarden 自带密码生成器

密码直接根据需要搜索即可。

浏览器界面右击自动填充密码,不要太爽。

新版本会根据浏览器打开的网站自动匹配密码,然后只需要点击 “填充” 即可。

密码备份与恢复

如果您之前有在 Chrome 中存储密码,可以直接导出来,然后快速导入 Bitwarden。Bitwarden 不仅仅支持 Chrome 浏览器密码库,还支持 Firefox、LastPass、KeePass 2、1Password 等。
Chrome 导出: 依次进入设置 — 自动填充 — 密码 — 导出密码,最终会导出一个 csv 文件。
Bitwarden 导入: 打开您的 Bitwarden,文件 — 导入数据 — 文件格式(Chrome(csv) — 选择文件 -> 点击“导入数据”。
Bitwarden 导出:打开您的 Bitwarden,文件 — 导出密码库。

对于 Vaultwarden 服务器端,由于其采用的是 SQLite 数据库,所以直接备份 /SSD/Demo/vaultwarden/data/ 数据目录即可。

后述

以上就是我们对 Bitwarden 密码管理工具的简单介绍。通过 Bitwarden 我们不仅可以安全地存储和管理密码,还能在各种设备和平台之间无缝同步,真正实现了密码管理的便捷与安全。Bitwarden 的出现无疑为我们的数字资产带来了一种全新的密码管理方式。

变更记录

  • 2024-03-28

    • 移除 docker-compose.yaml 中关于 WebSockets Traefik 配置部份。
  • 2025-01-25

    • 修改所有 Bitwarden_RS 至 Vaultwarden
    • 更新镜像 vaultwarden/server:1.30.5 升级至 vaultwarden/server:1.32.7
    • 更新 Android 客户端 GitHub 仓库地址
    • 更新密码备份与恢复说明
Avatar photo

关于 木子

Email: [email protected] 微信:rockylinuxcn QQ: 2306867585
Founder of the Rocky Linux Chinese community, MVP、VMware vExpert、TVP, advocate for cloud native technologies, with over ten years of experience in site reliability engineering (SRE) and the DevOps field. Passionate about Cloud Computing、Microservices、CI&CD、DevOps、Kubernetes, currently dedicated to promoting and implementing Rocky Linux in Chinese-speaking regions.
用一杯咖啡支持我们,我们的每一篇[文档]都经过实际操作和精心打磨,而不是简单地从网上复制粘贴。期间投入了大量心血,只为能够真正帮助到您。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇