概述
在我们的生活和工作当中,会接触到很多的APP或网页,因为并不是每个服务都能用类似QQ一键登录的方式来绑定账号,所以也就有了N多的账号密码,记密码成为了让我们非常头疼的事情。太简单或者过于单一的密码容易被撞库或“脱裤”,而太复杂的密码又难以记忆。
站长用过很多的密码管理软件,比如1password、Lastpass、Enpass等。这些软件能够自动抓取我们提交的账号密码保存到云端,实现多终端同步、自动填充密码等功能。虽说这类服务一般还是比较靠谱的,但是高昂的付费套餐真是无法承担。另外密码存在别人的服务器上你总是会有些不放心,谁知道哪天会不会出现数据泄露之类的问题?
鉴于此,站长分享了一个低成本打造个人专属密码管理服务的方案。
一、准备工作
- 个人域名一个,下文以 bw.netpad.xyz 代替
- SSL证书一个
- 域名解析平台账号(必须,推荐使用阿里云国际、Dnspod国际版等等)
- VPS服务器一台(必须)
二、部署服务
1、环境初始化
这里采用Docker部署方案,因此需要先安装Dcoker,安装步骤如下(已经有Docker环境的请跳过):
curl -fsSL https://get.docker.com -o get-docker.sh && chmod +x get-docker.sh && bash get-docker.sh c
2、启动Docker并加入开机启动项
sudo systemctl enable docker
3、验证是否安装成功:
docker info
2、部署Bitwarden
没错!本次私有密码管理方案正是基于Bitwarden,站长已经使用很久,非常满意!这里使用Docker一键部署方式,命令如下:
docker run -d \
--name bitwarden \
-p 8080:80 \
-p 3012:3012 \
--restart=always \
-e SIGNUPS_ALLOWED=true \
-e WEB_VAULT_ENABLED=true \
-e DOMAIN=https://mm.zhangge.net \
-v /data/bitwarden/data:/data \
bitwardenrs/server:latest
- 按照需要的参数选择即可,例如站长使用的
docker run -d --name bitwarden -p 8080:80 -p 3012:3012 --restart=always -e SIGNUPS_ALLOWED=true -e WEB_VAULT_ENABLED=true -e DOMAIN=https://bw.netpad.xyz -v /data/bitwarden/data:/data bitwardenrs/server:latest
3、部署反向代理
- 在宝塔面板添加bw.netpad.xyz
- 点击设置进入反向代理
- 添加http://对应的IP:8080
- 点击启用即可(必须)
4、其他设置
其他例如域名解析、开启HTTPS等一些设置度娘很多,还是强烈推荐开启HTTPS,尽量使用CloudFlare的CDN功能,服务器尽量修改ssh端口,使用SSH key登录比较稳定
三、客户端及插件配置
1、bitwarden配置
做完以上配置,我们就可以正常访问Bitwarden的后台管理了:https://bw.netpad.xyz/,刚部署的服务还没有账号,此时我们点击【Create Account】创建我们自己的账号:

因为我们部署Bitwarden是私人使用场景,因此需要修改下Bitwarden的容器启动脚本,将前面的SIGNUPS_ALLOWED=true改为SIGNUPS_ALLOWED=false,也就是禁止用户注册。具体步骤如下:
停止容器
docker stop bitwarden
删除配置文件
docker container prune
修改启动参数
docker run -d --name bitwarden -p 8080:80 -p 3012:3012 --restart=always -e SIGNUPS_ALLOWED=false -e WEB_VAULT_ENABLED=true -e DOMAIN=https://bw.netpad.xyz -v /data/bitwarden/data:/data bitwardenrs/server:latest
2、客户端及插件设置
Bitwarden支持Web、Chrome,Firefox、Opera 以及 Edge 浏览器插件,拥有 iOS、Android 客户端,因此我们可以根据需要选择安装Bitwarden的客户端即可。只是在启动时点击修改一个启动域名(例如bw.netpad.xyz)即可,如图所示

最后尽量为服务器添加一个谷歌云备份,及时备份一下数据库,避免服务器宕机,密码丢失。这样就可以愉快的玩耍了
