日常生活中我们每个人都会拥有大量网站或社交平台帐号,时间久远了密码很容易忘记。像 1Password 等密码管理 + 同步 + 一键登录的工具成为了很多人的首选。然而 1Password 毕竟要付费,开源的 Bitwarden 部署搭建一个私人专属的密码管理服务来代替 1Password!这样不仅免费,重要的是,所有的数据均保存在自己服务器上,更加放心……
我觉得Bitwarden最方便的是可以直接通过保存的密码进行跳转到特定的网页进行登录,不仅不用记住密码,还能快速地找到目标URL,简直是太方便了。只要记住主密码就能在任何设备上畅通无阻,唯一要考虑的就是对主密码的保护,以及服务器的稳定性。
安装Bitwarden
Bitwarden的镜像名已经更改为Vaultwarden。
拉取 docker 镜像
docker pull vaultwarden/server:latest
由于国内网络原因无法使用Docker,镜像拉取不下来,后续可能考虑更换国外服务器,或者对服务器进行设置一下。
公司网络可以访问外网,所以我从其他服务器上复制过来用。
# 导出镜像
docker save -o /vaultwarden.tar.gz vaultwarden/server:latest
# 导入镜像
docker load -i vaultwarden.tar.gz
获取ADMIN_TOKEN:openssl rand -base64 48
。
在工作目录新建docker-compose.yml文件,内容如下:
version: "3.8"
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
environment:
- TZ=Asia/Shanghai
- SERVER_ADMIN_EMAIL=1979007616@qq.com # 按需修改
- SIGNUPS_ALLOWED=false #禁用用户注册
- INVITATIONS_ALLOWED=true #允许邀请用户
- WEBSOCKET_ENABLED=true
- ADMIN_TOKEN=oiQmmwoXBBa4OvkfrcK0MUHqv6tu6M0mfumSuv5JzUnGj6wzjnJeZKH4jFAi # 按需修改
volumes:
- ./vw-data:/data #挂载卷以进行持久存储
#- "/etc/localtime:/etc/localtime:ro"
ports:
- 9100:80 # 按需修改
restart: unless-stopped
networks:
- default
networks:
default:
name: bitwarden
查看docker容器运行正常就可以访问管理后台和WEB网页了。
管理后台:服务器IP:端口/admin
。
WEB网页:服务器IP:端口
。
Bitwarden在注册账号和WEB网页登录的时候必须要使用HTTPS,浏览器插件登录和管理后台不用HTTPS也可以,所以我们需要先为他申请一个SSL证书,我有云服务器和域名,所以比较简单,直接在服务商控制台操作就行。但是使用服务器IP访问不太方便,所以还需要增加一个反向代理。内网的话就需要做内网穿透,内网穿透自带HTTPS,参考:内网穿透工具分享;或者自己制作SSL证书,参考:局域网配置反向代理和SSL证书。
宝塔反向代理
在宝塔面板中新增一个网站:
打开设置,设置反向代理
并且申请一个SSL证书(Let’s Encrypt),强制HTTPS。申请证书前需要先关闭反向代理,不然无法申请证书。
服务端设置
我们在配置文件中限制了用户注册,所以只能通过邀请的方式注册新用户,所以先进入管理后台:域名/admin
,输入token进入。
设置网站URL和管理员邮箱,通过该邮箱去邀请用户注册,并接收用户登录通知。
填写被邀请者的邮箱地址,管理员邮箱会发送注册邀请链接。
收到邀请的用户用该邮箱注册一个账号即可登录。
WEB网页端主页展示:
客户端设置
登录的时候选择自托管,填上你的网站地址并保存。
浏览器拓展
Chrome浏览器:https://chromewebstore.google.com/detail/bitwarden-password
Microsoft Edge浏览器:Microsoft Edge 加载项 – bitwarden
设置拓展可见,就会出现一个小图标,当打开的网页和你的密码进行匹配的时候就会有数字提示,如下图:
移动客户端
IOS系统默认是iCloud管理密码,需要设置一下由Bitwarden接管:
拓展
导入密码
不用担心你以前的密码要重新录入,Bitwarden可以对密码进行导入导出。
设置两步登录
仅依靠主密码来管理所有密码还是不太让人放心,可以对Bitwarden设置两步登录来加强安全性。在WEB网页端-设置-安全,个人喜欢使用验证器的动态密码,手机在手就可以轻松验证。
便捷性设置
caddy反向代理
遇到的问题
第一次安装的时候遇到这个bug,折腾了一天,最后发现是镜像拉取的是2年以前的,所以还是要细心检查。
查看容器日志:
docker logs vaultwarden
docker compose logs -f
相关链接
Home · dani-garcia/vaultwarden Wiki · GitHub
评论