如何优雅的管理你的密码
本教程是搭建和使用一体的,如果您只是想看如何使用,请直接通过页面的大纲快速跳转。
过期提醒
本文章部分内容已经过期,在启动前的准备 无需在设置websocket 的端口配置。
详情请跳转到 1.30.0 的 releases 介绍 。
前言
统一密码?
可能你对于密码而言,是统一一个密码走天下,这不好也很不安全,虽然现在有点良心的互联网公司不会把你的密码进行md5加密,而是使用其他的加密算法,会生成不一样的密文,但还是不安全。
密码杂乱无章
我们在互联网上有很多的身份,需要很多账号,每一个网站想给你提供服务,基本上都需要一个账号也就是网站对你的唯一标识,这样才能给你提供服务。
密码保存到浏览器?
不这个其实也是不安全,而且所有设备只能在浏览器上,而且还必须统一浏览器例如chrome 或者 Firefox 等。
其次这个浏览器保存的密码,把用来的解密密钥保存在系统里面而且并没有保护,所有在你电脑上运行的软件都能读取这个文件。
如果你不相信的话HackBrowserData这个程序可以让你直接惊呆,他可以读取浏览器的历史 cookie 以及密码,当然属于安全测试,这个程序没有和我有任何关系。
总结
综上所述,我们希望一个安全的,跨平台的,数据在我们自己所保管的、还有免费以及开源。也就只能是 Vaultwarden
代替了。
注意为什么不叫bitwarden
而是叫 Vaultwarden
呢?因为bitwarden
是收费的,但是他们家开源自己的api,就有大佬根据他的api 使用rust 进行编写出一个开源的 Vaultwarden
。他们可以完美的适配。以下把 Vaultwarden
称作为 bitwarden
你需要准备的
- 掌握搜索引擎技能(保证一直是最新的知识。)
- 一个大脑🧠
- 一台能开机的电脑或者是云服务器
- 电脑或者是服务器能安装docker,或者你使用Linux 的宝塔
- 掌握基本的docker基本知识
- 掌握
dns
解析,申请ssl
证书
搭建开始
本篇为了,低成本高效部署,选择使用docker,来进行安装。
起步
首先本篇默认,你已经安装完毕docker或者linux
的宝塔面板并且安装了基本的lnmp
服务,如果你这些不会或者不知道的话,可以进行学习完或者也可以跟着本篇尝试跟着做,但是我想进行劝退你们,学习相关知识再来看本篇。
如果我没有特别指明,宝塔操作的话,都是可以通用的。
拿到 bitwarden docker 镜像
你可以选择从 docker Hub 上进行搜索 vaultwarden/server ,然后进行按照网页上的文档进行克隆。
或者打开终端输入这段代码
1 | sudo docker pull vaultwarden/server |
可能有人说这部都一样的吗?我只是选择叫你们 docker hub 是一个镜像仓库,你需要什么可以去这里面搜
我这里拿Windows的终端输出为例,linux上都是一样的大差不大。
启动前的准备
拿到镜像就可以准备让程序跑起来了,但是这里我补充一个docker 知识。
1 | docker run -d --name vaultwarden \ |
上述命令我为了好观看进行格式化,但是扔到部分系统终端上无法进行运行,这段命令仅作为简述
- docker run 是启动一个容器
- –name 是指定容器的名字
- -e 是指定容器环境变量
ADMIN_TOKEN=
的环境变量是指定管理员页面的密码。WEBSOCKET_ENABLED=true
启动websocket 让设备在跨平台设备进行实时同步,提高时效性。- -v 创建一个持久化存储。
vaultwarden/server:latest
是docker 的镜像 lstest是最新的意思- -p 是映射端口 最左边的8081是本机端口,你可以随意更改在
0~65535
随你喜欢只要端口不被占用即可。
重点来了:
/vw-data/:/data/
这个首先/vw-data/
这个是你本机的文件地址,是用来存储容器产生的数据,例如保存的加密密码都在这个文件夹,这个你需要自己指定你本机的一个位置,一定要记住后面要加/
。后面的/data/不需要动了
启动
根据上面启动前的准备,你需要准备,存储持久化的本机一个文件夹地址,以及一个 admin 管理员密钥,推荐随意生成一个。
1 | docker run -d --name vaultwarden -e ADMIN_TOKEN=123456 -e WEBSOCKET_ENABLED=true -v /vw-data/:/data/ -p 8081:80 -p 3012:3012 vaultwarden/server:latest |
把上面的 ADMIN_TOKEN
和/vw-data/
替换成你的即可
运行成功之后,可以访问你的 ip地址(域名)+端口号 即可访问成功,前提是你防火墙开放这个端口。
访问可以看到上面的页面,以及你刚才指定的持久化文件夹下面会生成一堆文件
其中 db.sqlite3
是最重要的,这里面存储的你的加密的账号密码数据,希望你妥善保管并且备份。
反代
如果你是服务器,切有域名,并且安装了nginx,你可以配置以下反向代理,以宝塔面板为例
在网站-你自己的网站-设置-反向代理
端口号是你在运行docker run -p
左半面指定的端口号,如果你是跟着教程直接复制的,那么这里端口号为8081,目标url应该写成127.0.0.1:8081
。
然后我们到,nginx
的配置文件中,插入以下配置,我这里插入的是第44行,由于每个版本不一样,你可以找到
#引用反向代理规则,注释后配置的反向代理将无效 include /www/server/panel/vhost/nginx/proxy/你的域名/*.conf;
其中 proxy_pass http:
需要根据你自己的环境而言进行配置。
插入这段话的下方即可然后单击保存。
1 | location /notifications/hub/negotiate { |
这段话是,配置反向代理的ws协议端口。
现在如果你正确的配置好了域名解析,理论上你只需要访问你的域名即可打开 bitwarden
的页面。
优雅的使用
根据上面的搭建你可以已经成功搭建完成并且启动成功,那么我恭喜你,克服了对你的艰难问题。相比你的成功不光全是我的文章,而是你善于思考以及会使用搜索引擎找出一些关键性的问题和报错。
密码的转移
由于本篇实在是太长了,而且我太懒了不是很想在继续放图,以及互联网上已经有了轮子我就不在重复制造了。
如果你英文很好可以去访问:Bitwarden官网文档。
或者你英语不好,可以访问民间翻译的中文文档Bitwarden中文文档。
客户端的安装
你可以从官网进行下载:https://bitwarden.com/download/
这里面有浏览器和客户端。
客户端的连接
所有客户端的连接都是一样的,我们需要去设置,更改登录的ur,如果不更改属于官网的。
在这里填写你的 域名或者是ip + 端口号
保存登录即可没有账号的创建账户即可。