• 使用Docker搭建自己的Bitwarden密码管理服务


    相信身为开发者,总会在各种网站中注册账号,为了方面记忆可以使用同一套账号密码进行注册,自从前段时间学习通时间撞库后有些人已经开始疯狂改密码了,可是密码一多就很难记忆,最好找个地方存储账户信息

    我曾经使用过手机便签、笔记软件,Edge的同步功能,甚至私有的GIT仓库来记密码,效果都不是很好,于是前段时间疯狂寻找开源项目,想要搭建自己的密码管理系统,终于找到了Bitwarden这个神仙

    准备工作

    1. 需要有可以使用服务器以及可以使用的域名

    2. 了解并熟悉Docker的简单使用

    3. 了解并熟悉Nginx的使用

    4. 了解HTTPS

    了解Bitwarden

    https://bitwarden.com/

    Bitwarden是一款开源的密码管理工具,可以直接访问他们的官网注册并使用他们的服务,将账号信息交给他们管理,也可以自行搭建服务,将账号密码存在自己的服务器上,供自己或者朋友进行使用

    根据最近总结的经验来看,部署Bitwarden的方式大概总结了三种:

    1. 使用官方提供的的sh脚本进行安装,需要系统中安装好docker、docker-compse

    这种方法我已经踩过坑了,首先的确是可以用的,但是执行安装脚本后启动服务,你会发现Docker中多了十多个容器,对于我这种强迫症来说接受不了,而且我的Docker中已经事先安装了Nginx并配置了网站的反向代理,会和官方提供的脚本中的nginx冲突导致运行失败,这个方案直接被pass

    1. 使用第三方维护的Docker镜像:Bitwarden_RS

    https://hub.docker.com/r/bitwardenrs/server

    这个是由第三方个人维护的整合好的bitwarden镜像,pull后可以直接运行并访问,这个镜像我也用了一段时间,这期间深深被bitwarden的功能折服,打算写一篇博客介绍给更多的人用,所以对这个镜像稍微了解一下,发现这个镜像已经不在维护了,但是功能可以正常使用,如果不介意的话可以使用,但不推荐

    image

    第三种方法就是我目前正在使用的方法,我会在下面介绍安装方法

    快速部署Bitwarden

    https://hub.docker.com/r/vaultwarden/server

    注意:部署Bitwarden要求系统中安装了Docker和Nginx服务

    推荐使用Vaultwarden镜像,他与第二种安装方案中的镜像是同一个作者,因docker镜像名称容易引人误会所以另开一个镜像,如果想快速安装Bitwarden使用下面这段命令就可以

    # -p端口映射不多解释,-v绑定数据目录不多解释
    docker run -d --name bw \
      -p 8002:80 \
      -v /opt/docker/bw/:/data/ \
      vaultwarden/server:latest
    

    然后通过服务器IP地址+端口号就可以访问服务了,如下所示

    image

    但是仅仅这样是用不了的,出于安全考虑Bitwarden要求必须使用https进行访问,否则报错

    image

    之前购买VPS的的博客中提过,我的域名是交给CloudFlare管理的,这里需要打开强制https功能,如果你没有这个条件的话需要用自己的域名申请一个SSL证书上传至服务器,然后配置Nginx,这里请百度

    image

    然后配置域名解析,将域名解析到你的服务器IP地址上,如下所示

    image

    然后编辑nginx的配置文件,配置Bitwarden的反向代理

    server {
        listen       80;
        server_name  bitwarden.hanzhe.site;
        location / {
            proxy_pass  http://666.666.666.666:8002;
        }
    }
    

    访问配置好的域名,就可以访问到Bitwarden网站了,强制https后注册登录都一切顺利,注册登录后在这个位置设置中文

    image

    之后就可以正常使用了,可以在存储密码后安装浏览器插件,设置远程地址后查看账号密码,或者使用密码填充

    image

    image

    image

    image

    也可以GooglePlay商店或者百度下载手机端,同样设置服务器URL后登陆,进行添加查看账户信息,IOS也可以

    https://bitwarden.hanzhe.site 这个就作为演示站供大家参考,已开放注册,信得过的话也可以联系我邀请你使用我私有的bitwarden

    Bitwarden高级用法

    在创建容器的时候可以指定很多环境变量,这里简单介绍几个

    管理员访问密码,设置密码后可以访问管理页面
    -e ADMIN_TOKEN=some_random_token_as_per_above_explanation \
    是否允许注册,false为禁止之策
    -e SIGNUPS_ALLOWED=false \
    是否允许邀请注册,在禁止注册的情况下可以邀请某个指定的用户进行注册
    -e INVITATIONS_ALLOWED=false \
    是否直接在页面显示密码提示,不通过邮箱
    -e SHOW_PASSWORD_HINT=false \
    

    更多配置项请参照官方文档 https://github.com/dani-garcia/vaultwarden/wiki


    __EOF__

  • 本文作者: Java小学生丶
  • 本文链接: https://www.cnblogs.com/hanzhe/p/16468433.html
  • 关于博主: 评论和私信会在第一时间回复。或者直接私信我。
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    立即报名 | 相约 8.27,云原生 Meetup 杭州站火热开启
    「算法小记」-1:Ackermann函数/阿克曼函数的一点思考解法【递归/非递归/堆栈方法】(C++ )
    OV5640 低功耗使用说明- PowerDown模式
    C++:拷贝构造函数,深拷贝,浅拷贝
    关于jQuery_浏览器事件的方法和使用
    基于C语言实现的顾客排位与桌位安排系统
    HTTP协议中Gzip格式的流量分析与识别
    Vue2.0源码理解(6) - 组件注册
    Windows中实现将bat或exe文件作为服务_且实现命令行安装、配置、启动、删除服务
    DGA行为转变引发了对网络安全的担忧
  • 原文地址:https://www.cnblogs.com/hanzhe/p/16468433.html