- 我选择了
vault warden, 他兼容bitwarden所有的客户端, 但是要比bitwarden轻量化太多了, 运行速度和对电脑的要求都要小得多,bitwarden竟然要占用2G内存. 也没有bitwarden官方那么多限制, 也不会收费. 设置和选项都要简单一些. - 如果担心不够安全, 只在局域网中部署服务器, 外面基本无法访问, 省去了域名的钱. 也省去了一大堆的配置.
-
基本上使用docker可以开箱即用, 没有什么安装步骤, 就是一个命令. 但是还需要一些前置的工作.
-
对于不需要域名只在局域网使用的人来说, 要准备一份自签名的SSL证书. 推荐使用这个小工具: https://github.com/soulteary/certs-maker , 一秒生成证书.
- 使用如下命令即可
docker run --rm -it -e CERT_DNS="domain.com;*.domain.com;*.a.domain.com" -v <output_path>:/ssl soulteary/certs-maker - 其中输出目录换成自己想要的, 三个域名只需要一个即可, 在内网访问的话只需要一个ip地址当作域名就行. 然后就可以输出证书文件到指定位置.
- 这样生成的证书文件有效期10年, 一般足够用了.
- 使用如下命令即可
-
然后使用命令拉取docker 容器就 以下是针对局域网的参数:
docker run -d --name vaultwarden --restart=always\ -e ROCKET_TLS='{certs="/ssl/<crt文件名>",key="/ssl/<key文件名>"}' \ -v <证书的存放文件夹>:/ssl/ \ -v /vw-data/:/data/ \ -p 443:80 \ vaultwarden/server:latest
- 以上这组命令第一行给容器命名, 并且在机器重启后会自动运行
- 第二行启用了ROCKET这个网络服务程序, 同时需要指定证书在容器内的位置
- 第三行是映射一个文件夹到容器中来存储用户的数据, 这样不至于容器关闭就丢失数据
- 第四行是将容器的80端口映射到宿主机的443端口, 其中443端口号可以自行修改.
- 最后一行是下载docker映像的名称
- 运行完成后没有什么提示, 一般就是成功了, 可以使用
sudo docker ps来查看, 看到vaultwarden就是正在运行了 - 在浏览器输入网址
https://192.168.x.x:443, ip就是安装的主机地址, 如果没有修改443端口的话端口号可以省略 - 如果网址打开了就可以开始注册了. 浏览器会提示证书不安全之类的废话, 如果只是在局域网自己用, 忽略即可.
-
在Android手机可以下载
Bitwarden官方客户端, 不过要先在手机上导入刚刚制作好的证书. 我的办法是用scp 命令copy到Windows机器上, 然后就可以用数据线或者Landrop这样跨平台的传文件工具传到手机上. 在手机的设置-安全-高级设置之类的地方, 会找到一个导入证书的地方, 我的手机还要求证书必须在手机根目录, 又经历了一次复制粘贴以后, 终于导入了证书, 然后手机客户端可以在局域网使用了. -
苹果手机上导入证书我试了几次都没法成功, 点击证书, 系统永远说已经成功下载, 要我去设置-通用-关于本机-证书设置里面打开证书的信任开关即可, 可我怎么样做也没有看到证书的存在, 不过我苹果手机不是主力于是也不太影响我.
- 除了手动添加条目外, 主流的密码管理都有导出的功能.
- vaultwarden也都有对应的导入选项. 至此就可以很方便的使用了.
- 所有获取密码, 同步数据库之类的操作都要在局域网才能实现.
- 但是不在局域网里面也是可以使用现存的所有密码的. 即可以离线使用. 只是不能离线修改.
- docker的命令里面是带有自动重启的, 也就是关机以后再开机应该会自动开机运行, 如果开机以后没有自动运行, 就用
docker start vaultwarden来手动运行已经存在的容器. 如果想要让容器开机自动运行也不用删除容器, 使用命令docker update --restart=always vaultwarden即可更新他的启动命令.