前言
密码管理器对于经常上网的人来说必不可少,常用的就是谷歌浏览器自带的了,但安全性极低。密码管理一般使用1password、keypass和lastpass(据说有过数据泄露)、Bitwarden等。
今天推荐的是Vaultwarden,它是Bitwarden的开源版本,支持多端同步,并且有浏览器插件,自部署可以免费使用Bitwarden的所有高级付费功能!
对于新手来说,搭建一个项目/网站,最麻烦的地方就在于:域名、证书、反代
现在借助 Claw devbox,只要安装好容器,就能自动生成https网站公网访问,简直太简单了!
首先注册Claw devbox,Google和GitHub注册都行,但如果你有180天以上的GitHub老账号,恭喜,你可以每月白嫖5$额度,无需花费1分钱。(人话:永久白嫖的前提是有个GitHub老账号)
地区选择近点的,JP和SG都行
创建镜像
进入App Luanchpad,点右上角,Create APP
应用名称随便取一个,就叫 vaultwarden
吧
Image Name要填vaultwarden的docker地址:vaultwarden/server:latest
配置选择
选个差不多的比如:0.5c 0.5g
、0.5c1g
、1c0.5g
等等,尽量不要逼近0.16,留点冗余。
这里要注意的是:我们每月只有5$的额度,平均分到30天,每天消耗不能超过0.16$
网络设置
开启网络访问,80端口不变
环境设置
Environment Variables 加上以下内容:
ADMIN_TOKEN=nDvPmc5fd$m#4^@L$otpw6EsGREgVs@UmSmZ3$^
SENDS_ALLOWED=true
WEB_VAULT_ENABLED=true
EMERGENCY_ACCESS_ALLOWED=true
SIGNUPS_ALLOWED=true
解释:
ADMIN_TOKEN=nDvPmc5fd$m#4^@L$otpw6EsGREgVs@UmSmZ3$^ #此值是Vaultwarden管理员面板的令牌(一种密码)。为了安全起见,这应该是一个长的随机字符串。如果未设置此值,则管理员面板将被禁用。建议openssl rand -base64 48 生成ADMIN_TOKEN确保安全
SENDS_ALLOWED=true # 此设置决定是否允许用户创建Bitwarden发送 - 一种凭证共享形式。
EMERGENCY_ACCESS_ALLOWED=true #此设置控制用户是否可以启用紧急访问其账户的权限。例如,这样做可以在用户去世后,配偶可以访问密码库以获取账户凭证。可能的值:true / false。
WEB_VAULT_ENABLED=true #此设置决定了网络保险库是否可访问。一旦您配置了您的账户和客户端,停止您的容器,然后将此值切换为false并重启Vaultwarden,可以用来防止未授权访问。可能的值:true/false。
SIGNUPS_ALLOWED=true #此设置控制新用户是否可以在没有邀请的情况下注册账户。可能的值:true / false。
Local Storage 加点存储空间用于备份 5-10G即可 (手动备份密码到本地则不用太多储存空间)
Capacity:5
Mount Path:/vw-data/
开始部署,点击右上角的 Deploy Application
部署成功
复制 Public Address,到浏览器访问
网站部署成功
到这里,如果你能看到网站正常打开
那么恭喜你
你成功搭建了自己的网站,虽然没有自己的域名、没有申请证书、没有安装证书、也没有反代(Claw devbox替你做了)
但你已经有了一个https加密访问的公开网站!
注册账号并完善设置
接下来注册你自己的账号
输入你的邮箱、主密码(非常重要!你的所有数据都通过主密码加密!),创建自己的账户
完善设置,你仔细想想,你的网站,你能注册,别人能不能注册?好像没有限制?
接下来,关闭注册!只有你一个用户。
访问管理员页面:在你的网址后,加上/admin,即:https://xxxx.com/admin
token就是上面输入的环境值:ADMIN_TOKEN=nDvPmc5fd$m#4^@L$otpw6EsGREgVs@UmSmZ3$^
Allow new signups,取消勾选,就不能注册账户了。
如果你忘记了ADMIN_TOKEN,回到配置的位置,[Update],重新去看即可。
浏览器插件和APP
Vaultwarden(Bitwarden) Chrome插件 APP可在谷歌商店下载
插件或者app登录的时候,服务器选择自托管,并填入你自建的网址。
备份
方法1:手动导出密码库,加密的json文件
方法2:打包备份data文件夹
db.sqlite3
(SQLite 数据库)db.dump
(PostgreSQL 数据库)db.sql
(MySQL / MariaDB 数据库)config.json
rsa_key*
(多个文件)attachments
(目录)sends
(目录)
至此,关于自建密码管理器基本就完结了。
希望大家都能用上好用的密码管理器!