前言
日常生活中我们会用到很多网络服务,这导致了我们会注册大量的账号,这时记住每一个账号的用户名和密码成为了一个难题,不同的账号使用相同的密码确实会便于记忆,但是安全性又没有了保障。那么我们有没有办法解决这个问题呢?
搭建一个密码托管服务器是一个很好的选择。我使用的时Bitwarden密码库,这个密码库是开源的,可以部署到自己的服务器上,安全性比其他的同类产品要好的多。而且它提供自动填充密码插件,以及强密码生成器,这能让我们的账户密码在方便记忆(甚至不需要记忆,生成强密码然后每次登陆的时候自动填充即可)的情况下安全得到进一步的提升。
那么开始吧!!!
步骤
创建站点
打开并登陆宝塔面板,创建网站。请提前将网站域名的a记录解析到服务器上。
安装Docker
进入宝塔面板的软件商店,找到docker管理器安装。
拉取镜像启动容器
输入下面的命令获取bitwarden密码库的镜
docker pull vaultwarden/server:latest
完成后再输入下面的命令来用docker安装bitwarden密码库
docker run -d --name vaultwarden -v /安装目录/:/data/ -p 你想要的端口:80 vaultwarden/server:latest
代码里的安装目录和端口改成实际的数据
找到网站根目录的方法:
宝塔面板中点网站,在你刚刚创建的网站右边的路径就是你的网站根目录,也就是代码中的安装目录。
实际安装目录为你开始创建的网站的根目录,端口随便写就行,我用的10086。后面的80不要改。
回车等待执行完成
设置反向代理
这是去宝塔面板给网站设置反向代理
宝塔面板点击网站>>点击网站名>>反向代理>>增加反向代理
访问你的域名,能够成功进入该页面说明搭建完成
记得注册完自己的账号后关闭注册功能。
关闭注册功能的方法
在关闭注册功能之前请先注册自己的账号
注册完成后使用下面的命令停止并删除bitwarden的container
docker stop vaultwarden
docker rm vaultwarden
然后再输入下面的命令即可(里面的安装目录和端口号按之前的来)
docker run -d --name vaultwarden \
-e SIGNUPS_ALLOWED=false \
-e INVITATiONS_ALLOWED=false \
-v /安装目录/:/data/ \
-p 你想要的端口:80 \
vaultwarden/server:latest
一切完成后搭配插件使用即可,插件可以再chrome的扩展商店中找到。
进阶用法
一、开启邮件登录2FA验证(强烈建议)
在bitwarden部署完成后我们可以开启邮件二次认证来保证我们的密码库不被暴力破解。
开启高级面板功能
要想使用这个功能必须开启ADMIN高级面板。开启的方法很简单,在部署时环境变量中加入下面一行即可。
这里的TOKEN是登录高级面板的密码建议设置的复杂一点。
-e ADMIN_TOKEN=XXXXX \
在部署完成后我们通过 域名
+/admin
即可进入管理面板页面。
配置SMTP
然后我们在SMTP Email Setting中设置好SMTP服务器以及用户名密码。
如果你使用QQ邮箱那么这里的Host默认为 smtp.qq.com
、Post为 465
、From Address和Username为你的 邮箱地址
Password为你的邮箱授权码(需要在qq邮箱网页端生成,需要发短信)。填写完毕以后点击Save保存,可以在Test SMTP中输入邮箱让它发一封邮件测试一下你的SMTP设置是否正确,无误的话会收到邮件。
开启Email 2FA功能
在面板中的Email 2FA Setting选项中将 Enable勾选上。
登录密码库在设置中启用2FA
登录账号在设置二步登录中设置好2FA即可。
设置完毕后就能看到登录时询问邮箱验证码了。
二、将Steam暴雪等应用安全令牌增加到密码库中
将两步验证的TOTP提取出来填入管理器的编辑框即可,不同的应用对应的totp长度以及提取方法不一样,这里就不再赘述,具体方法请自行搜索。
在使用TOTP后我们就不需要在手机上安装steam和战网安全令等应用了。
10 条评论
请问按照上述步骤搭建后,用最新的浏览器插件登陆就显示用户名密码错误,旧版插件或者客户端就能正常登陆,这是咋回事?
新插件在配置的时候除了自托管环境的URL,把网页URL也填写一下。
大佬,我搭建的这个密码库忘记了网站的登陆密码.....然后二次验证的token也忘了,咋个办,救命
好吧,现在的问题是,主密码忘了
那你完了,那玩意是aes256加密的没有主密码神仙都开不了。
幸好你提醒是邮箱授权码,这个问题找了半天. 谢谢楼主
自己搭建的这个密码库是成功了,但是浏览器插件为啥貌似不能登录,还要重新注册?
登录浏览器插件的时候要在设置里面填好URL,只填写最上面的一行就行。
老哥,跪求一篇搬家教程,这里给您磕头了~
迁移非常简单,有两种方法。第一种你在bitwarden的工具中将密码库导出为json文件,然后在新的服务器上重新部署密码库容器,导入json文件即可。第二种就是docker容器的迁移方法,把你旧服务器上创建容器时映射的路径里的文件全部复制下来,放到新服务器里面,然后docker run的时候指定该路劲即可。