BitWarden,开源免费功能强部署快的密码托管服务
我曾一度认为我不需要密码托管这种软件。
直到我发现我无论如何也想不起来北京摇号官网的登录密码了。
使用现成的第三方服务很好,但一来要注册,二来有些服务会收费。
那还不如自己部署一个。
其实可供自己部署的不算很多,我最终选择了bitwarden。
Bitwarden 是一款开源密码管理器,它会将所有密码加密存储在服务器上,工作方式与 LastPass、1Password 或 Dashlane 相同。
官方的版本搭建对服务器要求很高,搭建不容易,github上有人用 Rust 实现了 Bitwarden 服务器,项目叫 bitwarden_rs,并且提供了 Docker 镜像,这个实现更进一步降低了对机器配置的要求,并且 Docker 镜像体积很小,部署非常方便。这个项目目前在github也有2k的star,所以说用的人还是有不少的。
此外,官方服务器中需要付费订阅的一些功能,在这个实现中是免费的。下面简单记录怎么搞。
一、基本组件
- 拉取镜像:
docker pull bitwardenrs/server:latest
启动:
docker run -d --name bitwarden -v /bw-data/:/data/ -p 6666:80 bitwardenrs/server:latest
- -v 定义一个保存数据的文件夹
- -p 定义一个监听端口
如果仿照上面的步骤,设定了6666端口的话,现在浏览器输入ip:6666
可能有几种情况:
- 访问成功
- 弹出logo,但登陆界面不能加载
- UNSAFE_PORT
这是因为项目要求https。所以要么申请一个证书,要么自签名一个证书。我则使用了另一个方法:套在cloudflare的解析上,依靠cf的证书实现。但这些都需要你拥有一个域名。
域名申请就不细说了,下面主要说说如何把域名和服务绑定上——反向代理。
二、域名绑定服务
- 我有宝塔,所以直接宝塔新建一个站点,域名自然是要绑定到这个服务的域名
建立后,在
站点修改
窗口,点击反向代理 - 添加反向代理
- 代理名称任意
- 目标URL写入
http://127.0.0.1:6666
(端口是之前开启docker时候配置的) - 提交
Cloudflare端,将https相关的设置打开
DNS
标签下,做解析和开启缓存(箭头穿过小云彩而不是绕过)SSL/TLS - Overview
标签下,加密模式选择Flexible
SSL/TLS - Edge Certificates
标签下,启用Always Use HTTPS
三、建立自己的用户
现在,访问域名,应该能正常显示了。按提示建立自己的用户即可。
四、关闭注册
如果并没有公开服务的打算的话。
- 停止容器:
docker stop bitwarden
- 删除容器:
docker rm bitwarden
- 启动容器,加入禁注册参数
-e SIGNUPS_ALLOWED=false
五、使用
可以从浏览器通过域名来管理自己的账户。
密码自动填写、自动保存等通过软件实现:
- PC中,Chrome有插件,可管理浏览器用户名密码
- 安卓中,有APP,可全局监控(类似谷歌的密码管理)
- iOS中,有APP,可用范围不知道
已有 2 条评论