一直在使用的密码管理软件Lastpass将于2021年3月开始调整免费账户的使用策略,免费账户只能在移动端和电脑端选择一个类型使用,本来海天还想升级或者看一下1password的,但后发现很多人都推荐使用bitwarden这款开源的密码管理软件。
bitwarden功能和lastpass、1password差不多,都能实现完美的密码管理以及自动登录功能,并且bitwarden因为是开源软件,除了有官方商业运营的服务外,自己也可以通过bitwarden_rs来搭建自己的bitwarden密码管理器,这样等于密码库都是在自己手里,并且bitwarden安全性也非常强大。
安装并部署bitwarden_rs
1、bitwarden_rs使用Docker进行安装,如果还未安装,可以参考这篇文章安装使用Docker。
2、创建bitwarden_rs的运行目录:
cd
~
&&
mkdir bitwarden
&&
cd bitwarden
3、创建docker-compose配置文件
代码语言:javascript复制cat > ~/bitwarden/docker-compose.yml<<EOF
version: "3"
services:
bitwarden:
image: bitwardenrs/server
container_name: bitwardenrs
restart: always
ports:
- "127.0.0.1:8087:80" #将宿主机8087端口映射到docker的80端口
- "127.0.0.1:3012:3012"
volumes:
- ./bw-data:/data
environment:
WEBSOCKET_ENABLED: "true" #是否开启WebSocket
SIGNUPS_ALLOWED: "true" #是否开启注册,自用的话自己搭建好注册后改成false
WEB_VAULT_ENABLED: "true" #是否开启Web客户端
#ADMIN_TOKEN: "" #后台登陆密码,建议openssl rand -base64 48 生成ADMIN_TOKEN确保安全,当前是没启用,如需启用去掉ADMIN_TOKEN前面的 # ,并生成安全密码
EOF
4、启动bitwarden_rs服务
docker-compose up
-d
运行后会自动拉去镜像和设置bitwarden_rs,根据网络等因素拉取镜像会比较耗时。
Web服务器设置
虽然bitwarden_rs已经运行起来,但是bitwarden_rs是必须要通过https访问,否则进行无法注册、登陆等一系列的操作。主要的就是反向代理的一些设置,这里以nginx为例:
1、首先一定要开启SSL
2、打开域名的conf文件编辑,在443端口也就是https部分的,在include enable-php.conf;
下面添加:
location / {
proxy_pass http://127.0.0.1:8087;
proxy_http_version 1.1;
proxy_cache_bypass $http_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
}
location /notifications/hub {
proxy_pass http://127.0.0.1:3012;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /notifications/hub/negotiate {
proxy_pass http://127.0.0.1:8087;
}
location /admin {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8087;
}
3、添加完成后,删掉下面这几行:
代码语言:javascript复制 location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*.(js|css)?$
{
expires 12h;
}
使用bitwarden
访问你的域名就可以访问搭建好自己的bitwarden服务端网站,并注册一个账户,这里就不多做赘述,导入lastpass的数据库也很简单,直接在lastpass导出,在bitwarden的工具选项里有功能直接导入。
而客户端不管是app还是chrome等浏览器的插件,都可以直接在官方渠道下载,下载后唯一要做的是,就是将自己搭建的bitwarden_rs作为服务端。
操作都是一样,就是在登录界面,点击左上角的设置,在服务器URL栏填写自己搭建bitwarden_rs的域名,其他选项不用填写。
填写后就可以使用注册的账户登录使用了。
关闭bitwarden注册
如果自己使用,那么就之前注册好账号后,就可以关闭注册功能,甚至关闭网页访问。
修改前需要先停掉bitwarden_rs
代码语言:javascript复制cd ~/bitwarden
docker-compose down
然后修改docker-compose.yml 文件
将SIGNUPS_ALLOWED:
"true"
改成 SIGNUPS_ALLOWED: "false"
,则关闭注册功能。
将WEB_VAULT_ENABLED:
"true"
改成 WEB_VAULT_ENABLED: "false"
,则关闭网页使用。
最后在通过命令docker-compose up
-d
重新启动服务。
bitwarden_rs升级
代码语言:javascript复制cd ~/bitwarden
docker-compose down
docker pull bitwardenrs/server:latest
docker-compose up -d