海天无影Blog

使用bitwarden_rs搭建并使用自己的bitwarden密码管理器

/ 225阅 / 1评 / 1

一直在使用的密码管理软件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配置文件

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、添加完成后,删掉下面这几行:

        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

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升级

cd ~/bitwarden
docker-compose down
docker pull bitwardenrs/server:latest
docker-compose up -d

一条回应:“使用bitwarden_rs搭建并使用自己的bitwarden密码管理器”

  1. […] 因为使用Lastpass修改免费政策,只能在pc端和移动端选择一中类型使用,于是海天投入了bitwarden的怀抱,通过bitwarden_rs搭建自己的bitwarden服务器来使用密码管理器。 […]

发表评论

您的电子邮箱地址不会被公开。