Bitwarden 低价托管服务: https://blog.garryde.com/archives/73.html
Bitwarden是一款自由且开源的密码管理服务,用户可在加密的保管库中存储敏感信息(例如网站登录凭据)。Bitwarden平台提供有多种客户端应用程序,包括网页用户界面、桌面应用,浏览器扩展、移动应用以及命令行界面。Bitwarden提供云托管服务,并支持自行部署解决方案。
我已经使用Lastpass超过两年,偶然了解到Bitwarden并且惊讶其可以集成一次性密码(TOTP),并且很方便的填充到页面中,而不必打开手机查看。
Bitwarden官方提供托管服务,TOTP支持需要付费订阅使用(10美元/年),若对于自家网络服务稳定性担忧建议使用官方服务。
1.bitwarden_rs 是什么
bitwarden_rs 是一个用于本地搭建 Bitwarden 服务器的第三方 Docker 项目。
bitwarden_rs 使用 Rust 编写,与官方 Bitwarden 客户端兼容,并改用 SQLite 数据库(现在也支持 MySQL 和 PostgreSQL),相对于官方版使用 MSSQL 数据库要求至少 2GB 内存,运行 bitwarden_rs 时只需要 10M 内存,可以说对硬件基本没有要求。
2.bitwarden_rs 与 Bitwarden 官方版的区别
- bitwarden_rs 对于个人和小型组织足够使用。
- 除不支持官方企业版的部分功能(如事件日志、目录同步、SSO 登录以及基于企业组织层面的 Duo Security 两步登录)外,其他大部分功能均免费支持。并跟随官方版本保持及时更新。
- bitwarden_rs 比官方版更轻量。官方版使用 .Net 开发,使用 MSSQL 数据库,要求至少 2GB 内存;bitwarden_rs 使用 Rust 编写,改用 SQLite 数据库(现在也支持 MySQL 和 PostgreSQL),运行时只需要 10M 内存。
- 对于 bitwarden_rs:仅在部署的时候使用 bitwarden_rs 镜像,桌面端、移动端、浏览器扩展等客户端均使用 Bitwarden 官方的客户端应用程序。
3.前置要求
- 具备公网访问能力
- 个人域名
- 相应SSL证书
本人网络环境具备公网IP以及80/443端口,使用Let's Encrypt通配符证书。
本教程默认已具备上述环境。
4.下载启动容器
下载Docker镜像
bitwardenrs/server
Docker项目地址:https://registry.hub.docker.com/r/bitwardenrs/server/

启动容器
进入高级设置
-> 高级设置
打开启动自动重新启动
确保NAS在重启后会自动重启容器

进入 卷
将容器的/data
目录映射到本地docker/Bitwarden
(根据习惯自定义)

进入 端口设置
设定80
端口对应的本地端口,3012
端口用于WebSocket,暂时不需要。

进入 环境
添加项ADMIN_TOKEN
,值定义一个密码。
密码请尽可能复杂,或在初始化后配置删除项。此配置会开启后台管理功能并具备清空数据库的能力。

点击应用
启动容器

5.配置代理访问
进入群晖控制面板
->应用程序门户
->反向代理服务器
->新增
必须使用HTTPS访问,端口配置刚刚在Docker启动镜像时配置的

6.配置证书
进入群晖控制面板
->安全性
->证书
由于我已经配置泛域名证书,所以系统会自动匹配,无需额外设置。
没有的请自行申请或导入证书。点击配置匹配相关域名。

7.下载客户端
前往https://bitwarden.com/download下载各平台客户端

8.注册使用

关于主密码
非常重要!!!
Bitwarden 是一个零知识/零信任的解决方案,密码库使用 [AES-CBC]() 256 位加密方式,并使用 [PBKDF2]() SHA-256 来派生加密密钥。在将任何内容发送到云服务器进行存储之前,Bitwarden 始终会在本地设备上加密和/或哈希数据。 Bitwarden 服务器仅用于存储已加密的数据。这意味着 Bitwarden 的团队以及 Bitwarden 系统本身对您的主密码一无所知,也没有办法找回或重置您的主密码。千万不要忘记你的主密码!如果您忘记主密码,Bitwarden 将无法重置它或恢复您的密码库数据。
如果您忘记了主密码,Bitwarden 不知道、也没有办法找回或重置您的主密码。如果您已经丢失了您的主密码,您需要删除您的账户,并重新建立一个新的账户。这意味者您所有的数据将会丢失!
地址:https://domain.com/#/recover-delete
9.配置Bitwarden
基础配置
进入https://domain.com/admin
,输入刚才配置的ADMIN_TOKEN
项对应的密码
点击General settings
,配置Domain URL为你自己的域名,注意填写HTTPS前缀

可以配置Allow new signups
是否允许他人注册,关闭后,仅可由管理员在Users
管理中邀请注册。(需要配置SMTP服务器)

配置SMTP邮件服务
可选,但是强烈建议配置。开启后可以提供新设备登录提醒以及一系列邮件服务。
进入SMTP Email Settings
项目 | 内容 |
---|---|
Enabled | 勾选 |
Host | SMTP服务器地址 |
Enable Secure SMTP | 勾选 |
Port | SMTP服务器端口 |
From Address | 发件邮箱地址 |
Username | 发件邮箱地址 |
Password | 发件邮箱密码 |
下图实例为Outlook邮箱配置,若使用Gmail建议查阅安全性较低的应用和您的 Google 帐号

开启Email多重验证
配置SMTP服务后可开启此选项。此设置允许您开启基于邮件验证码的二次验证
进入Email 2FA Settings
,勾选Enabled
。
10.配置Chrome自动填充选项
页面加载时自动填充
页面加载时自动填充是 Bitwarden 浏览器扩展提供的一个实验性的和可选的功能。当启用该功能时,Bitwarden 在加载与登录项目的 URI 值相对应的网页时将自动填充登录信息。
如果有多个登录项目与检测到的 URI 相同,则自动填充操作将使用最后使用的登录项目。
要启用此功能,请在浏览器扩展中导航到设置 → 选项,并选择启用页面加载时自动填充选项。
使用键盘快捷键
Bitwarden 浏览器扩展提供了一组键盘快捷键(也就是热键)来自动填充登录信息。您的密码库必须已解锁才能使用这些选项。
要自动填充登录信息,请使用以下默认快捷键:
- Windows:
Ctrl + Shift + L
- macOS:
Cmd + Shift + L
- Linux:
Ctrl + Shift + L
- Safari:
Cmd + \
或Cmd + 8
或Cmd + Shift + P
如果任何指定的快捷键不能使用,很可能是因为你的设备上的另一个应用程序已经占用了它。例如,Windows 上的自动填写快捷键通常被 AMD Radeon Adrenaline 软件(AMD图形驱动程序)要求使用,因此不能被 Bitwarden 使用。在这种情况下,您应该释放该快捷键,或者配置 Bitwarden 使用其他快捷键。
配置键盘快捷键
根据你使用的浏览器不同,配置 Bitwarden 浏览器扩展程序使用的键盘快捷键也不同。要访问配置菜单:
- 在 Chrome 中,在地址栏输入
chrome://extensions/shortcuts
。在基于 Chromium 的浏览器(如 Brave)中,用chrome
代替相应的浏览器名称(如brave://extensions/shortcuts
)。 - 在 Firefox 中,在地址栏中输入
about:addons
,选择管理您的扩展程序旁边的 ⚙ 齿轮图标,并从下拉菜单中选择管理扩展程序快捷方键。
某些浏览器,包括 Safari 和旧版 Edge 目前不支持更改扩展程序的默认键盘快捷键。