用Docker部署Bitwarden密码管理工具

学习笔记 · 03-07 14:54

现在不管是浏览或使用什么网站或APP,都得注册账号设置密码,不然就是各种限制。在此之前,我为了图方便,所有账号都用同一个密码或稍微加以区分。但后来发现,要是单独修改某个账号的密码,新密码很容易忘掉。用备忘录记密码,查找起来又麻烦,谷歌的自动记忆密码功能,对我来说也不太实用。

偶然间,我在知乎里看到有人使用Bitwarden,文章介绍说这是个挺不错的密码管理器。后来在B站也刷到相关推荐,就想着尝试一下。刚好之前也把相应的网络环境搭建完成,就先尝试安装了 Bitwarden 。使用后发现,它是真的很方便,你只需要记住一个主密码,登录其他账号时,密码就能自动填充。它的兼容性也很好,PC端不管是Windows、Mac还是Linux系统都能使用。手机端也一样,不管是苹果iOS系统,还是安卓系统,都有对应的客户端,在不同设备上管理密码都很方便。如果你也被密码问题困扰,不妨跟我一起搭建使用吧。

部署流程

1.环境检测

使用以下命令检查你的服务器是否已经成功搭建好 docker 和 docker-compose 环境。如果出现对应的版本号,说明一切正常可以继续下一步,如果提示报错,请自行百度安装方法。

如果你使用的是宝塔面板/1Panel,且可以正常进入左侧菜单栏Docker选项,说明你的环境也是搭建好的。
docker --version  # 检测docker版本信息
docker-compose --version  # 检测docker-compose版本信息

2.创建Bitwarden文件

在拥有 root 权限的目录下创建一个 Bitwarden 文件(需要注意的是必须在拥有 root 权限的目录下创建,否则会提示权限不足而报错),使用以下命令一键创建:

work=/该路径可自定义/bitwarden && mkdir -p $work && cd $work  # 这是一条命令演示
work=/root/bitwarden && mkdir -p $work && cd $work

3.放行端口

登录网站服务器和云服务器提供商控制台,进入防火墙自定义放行端口。可以使用以下命令查询该端口的占用情况:

apt install lsof  # 安装lsof端口查询工具,这步可以忽略
lsof -i:2025

这里就以查询 2025 端口为例,如果查询到该端口已被占用(会显示出来的),重新换一个端口即可。如果啥也没出现,表示端口未被占用,可以继续下一步的操作。

4.配置Yaml文件

在第2步我们创建好的Bitwarden文件目录下创建一个 docker-compose.yaml 文件。

cd /root/bitwarden/  # 跳到bitwarden目录,这是一条演示命令,实际操作cd到你的实际路径即可
touch docker-compose.yaml

vim docker-compose.yaml  # 这条命令和上面的touch方法是一样的,二选一即可

打开 docker-compose.yaml 文件,将以下内容复制粘贴到其中,并根据自己的需求进行编辑:

version: "2"
 
services:
  app:
    image: vaultwarden/server:latest
    environment:
      - SERVER_ADMIN_EMAIL=<xxx@qq.com> # 提醒邮件按需修改
      - SIGNUPS_ALLOWED=false
      - INVITATIONS_ALLOWED=true
      - WEBSOCKET_ENABLED=true
      - ADMIN_TOKEN=<token> # 按需修改
    volumes:
      - ./app:/data/
    ports:
      - 2025:80 # 按需修改,这里与上方放行的端口对应
    restart: unless-stopped
    networks:
      - default
 
networks:
  default:
    name: bitwarden

编辑说明:

① 代码中的 ADMIN_TOKEN 可以在命令行终端,输入以下命令生成(后面也会用到该 ADMIN_TOKEN ):

openssl rand -base64 48

② 代码中的 SIGNUPS_ALLOWED 等你注册好之后,如果你只是想自己用,可以把这边改成 false 即可。

③ 在编辑该文件时,以上代码中 < > 符号是不允许存在的,只是给名词添加特定的注释而已,使用的时候需要删除掉,不然会报错。

5.启动服务

一切准备好之后,我们就可以正式运行该项目了,输入以下命令运行该项目:

cd 你的实际路径 $work && docker-compose up -d  # 这是一条演示命令
cd /root/bitwarden $work && docker-compose up -d

到这里你的 Bitwarden 项目就已经部署好了,现在我们就可以使用 http://ip: 端口 的形式去访问 Bitwarden 项目了。

反向代理

因为 Bitwarden 这个项目毕竟是用来管理我们自己的密码的,如果只使用 http://ip: 端口 的形式去访问的话,安全性不高,搞不好还有泄露密码的风险。所以我们将采用 反向代理 + HTTPS 的方式去访问。当然了,采用 反向代理 + HTTPS 的方式去访问也并非100%的安全,但多个防范措施,多道"安全门"还是很有必要的,毕竟安全才是重中之重嘛。

1.新建站点

如果你用的是宝塔面板或1Panel,在面板上新建一个站点,并配置好SSL证书。

2.设置反向代理

打开面板上左侧菜单栏的"网站",然后找到你新建的站点并打开。来到"站点修改"页面,点击左侧菜单栏的"反向代理"并添加反向代理。

刘郎阁

服务端设置

1.登录管理页面

设置好了反向代理之后,我们就可以通过自定义域名来访问自己部署的Bitwarden了。然后我们可以通过 "https://自定义域名/admin" 登录管理页面。

刘郎阁
登录口令就是我们在第4步"配置Yaml文件"中设置的 ADMIN_TOKEN

2.后台设置

① 登录成功以后,点击第一行的 General settings ,在展开的 Domain URL 处填写你的域名,并"勾选"允许发送。

刘郎阁

② 接着第一行的General settings ,往下拉,找到 Allow new signups ,也勾选上:允许新用户注册。

自己注册好之后就可以把它关了,防止别人注册,当然,你也可以选择开放别人注册,看你自己的需求而定吧。

刘郎阁

③ 然后点击第五行的 SMTP Email Settings ,在展开的页面中填写好自己的邮箱服务器信息,方便后续的邮箱信息通知。

刘郎阁

注意:这里有一个细节问题,如果你的邮箱服务器端口号是465,你就先填写465;如果后续系统提示有异常,你就按图中的587填写。

④ 全部设置好之后,点击页面最底下的 Save 保存即可。

注册第一个用户

完成以上配置并保存好,我们便可以开始注册第一个账户了(自己使用):

1.点击顶部的Settings后展开第一个选项"General settings":

刘郎阁

确保General settings中将"Allow new signups 允许新注册(第10行)"和"Allow invitations 允许邀请(第16行)"两个都是被勾选上的。

2.点击顶部的Users选项,在Invite Users处填写你要用来注册Bitwarden账户的邮箱:

刘郎阁

3.过一会儿你填写的邮箱就会收到一条包含注册账户的邮件,按提示自定义填写好用户昵称和用户密码即可:

刘郎阁

在注册完成之后,如果你后期只想自己使用,返回前面的操作,将"Allow new signups 允许新注册(第10行)"和"Allow invitations 允许邀请(第16行)"两个被打勾的选项,取消即可。

客户端使用

1.下载Bitwarden

根据你自己使用的电脑系统或者手机系统,去相应的应用商店下载 Bitwarden 应用并打开。

2.客户端首次登录

在客户端(手机)上第一次登录 Bitwarden 应用时,我们要选择 " 登录到自托管 " 。

3.自托管环境设置

服务器URL地址这里,填写我们前面部署 Bitwarden 项目时反向代理用的域名 https://自定义域名/ ,填完这项保存即可,其它项都可以不用管。

4.客户端初步设置

① 设置解锁方式

进入 Bitwarden 的客户端页面后,我们可以先进行简单的初次设置,点击"设置"、"账户安全",然后开启"面容ID解锁"或者"指纹解锁",这样每当我们退出该软件下次再进来时,就不需要再输入繁琐的主密码了。

② 自动填充

根据自己的需求选择"密码自动填充"和"APP拓展"即点击特定的按钮而达到快速填充密码的效果。

写在最后

作为一个注重隐私与效率的我来说,使用 Bitwarden 也有一段时间了,整体感受良好,当然它也并非十全十美。使用 Bitwarden 最直观的好处就是便捷。以前我需要在不同平台反复记忆和输入各种账号密码,繁琐又容易出错,现在借助其自动填充功能,不管是电脑浏览器还是手机应用,登录操作都变得快速流畅。它不仅支持多种类型信息的存储,像身份证号、信用卡信息等,在需要填写表单时,一键填充,大大提升了效率。

从安全性来说,Bitwarden采用AES - 256位加密、盐值哈希等技术,主密码是数据安全的关键,只要保管好主密码,数据就能得到有效保护。而且它开源,接受全球社区的安全审计,这让我对它的信任度远超一些闭源密码管理工具。不过, Bitwarden也存在些许不足。在使用中,我发现它与个别小众网站兼容性欠佳,偶尔会出现自动填充失败的情况,需要再次点击填充输入或手动输入,比较影响体验。

总的来说, Bitwarden 的优点还是蛮明显的,在密码管理和隐私保护上表现还算出色,虽然也有一些小问题,但这也不影响它成为一款优秀的密码管理工具,也不影响它成为我心中还算理想的一款密码管理工具。

命令 Bash Docker 工具 安全 Bitwarden

上一篇 : 月余碎事

下一篇 : 病魔速退


  1. 10-22 14:46 第95楼 中国江苏省移动Windows 10 · Google Chrome

    客户端在用这个,服务端在用开源的Vaultwarden;开了二次验证,但好像只有网页登录要验证,客户端登录只要输入主密码就行。

    1. 刘郎   博主
      10-24 18:06 第96楼 中国贵州省移动Linux · Google Chrome
      @花非花

      使用下来感觉两者都差不多 我客户端和Pc端都在用 客户端直接刷脸验证就行 Pc端稍微麻烦一点 要验证主密码 不过总的来说 都挺不错的

  2. 浮生闲记   访客
    08-27 09:45 第92楼 中国江苏省南京市电信Windows 10 · Google Chrome

    我用Bitwarden也有一段时间了,特别是浏览器扩展很方便,但是最近听说Bitwarden浏览器拓展有漏洞会被劫持,在考虑要不要换成keepassxc

    1. 刘郎   博主
      08-27 09:49 第93楼 中国贵州省移动Linux · Google Chrome
      @浮生闲记

      keepassxc 我没用过哎 Bitwarden用着确实很方便 不论PC端还是移动端 用着非常便捷 至于你说的浏览器拓展漏洞 这个我倒是没发现 依然正常使用中 再者Bitwarden只用于存储网站密码 其他重要的密码存其他地方 或用其他方案 总之 Bitwarden就目前来说 还是挺好用的 也是值得推荐使用的

      1. 浮生闲记   访客
        08-27 10:09 第94楼 中国江苏省南京市电信Windows 10 · Google Chrome
        @刘郎

        确实,Bitwarden用着太方便了,而且对网络需求很低,我即使部署在NAS上,用Cloudflare Tunnel做内网穿透都绰绰有余

  3. 07-26 14:03 第90楼 中国四川省乐山市电信Windows 10 · Google Chrome

    我最开始也是自建的 Bitwarden,但是后来买了Enpass,通过Webdav同步密码库挺方便的,就抛弃了 Bitwarden。

    1. 刘郎   博主
      07-26 14:07 第91楼 中国贵州省移动Linux · Google Chrome
      @八对星星

      我依旧还在用自建的Bitwarden 便捷 实用呀😄

  4. James   V1
    07-16 20:07 第88楼 中国北京市电信Windows 10 · Google Chrome

    用了之后 会不会 彻底忘记了密码,最后只记住了一个主密码。

    1. 刘郎   博主
      07-16 20:16 第89楼 中国贵州省移动Linux · Google Chrome
      @James

      不会啊 在填充时相关账号显示出来时 密码默认隐藏 如果害怕忘记 也可以随时点击密码输入框右边的取消隐藏按钮查看

  5. 依阑记梦   访客
    07-03 14:32 第82楼 中国河南省洛阳市联通Windows 10 · Google Chrome

    我自己部署的bt现在只能网页端可以用,IOS手机客户端现在无法正常登录,登录就提示 “发生错误”,重新下载最新版本也不行,奇怪,找不到原因。老哥知道怎么解决吗?

    1. 刘郎   博主
      07-03 14:36 第83楼 中国贵州省移动Linux · Google Chrome
      @依阑记梦

      目前为止 我的网页端和移动端都能正常使用 你网页端用的是浏览器挂件还是 ios端卸载掉原来的 重新装一个 然后登陆时选自托管就行了

      1. 依阑记梦   访客
        07-04 13:13 第84楼 中国河南省洛阳市联通Windows 10 · Google Chrome
        @刘郎

        我已经找到原因了,但是无法解决,官方的一个帖子回复是因为card项的number中带了“.”或者其他UnIcode字符。官方说正在解决,不知道什么时候解决,怎么解决.....https://github.com/bitwarden/ios/issues/1699

        1. 刘郎   博主
          07-04 13:15 第85楼 中国贵州省移动Linux · Google Chrome
          @依阑记梦

          我没遇到这种情况哎 直接部署好就可以正常用了

          1. 依阑记梦   访客
            07-04 13:19 第86楼 中国河南省洛阳市联通Windows 10 · Google Chrome
            @刘郎

            帖子下面一堆,这个情况全部都是苹果手机的,是一个针对苹果手机的bugo(╥﹏╥)o

            1. 刘郎   博主
              07-04 13:23 第87楼 中国贵州省移动Linux · Google Chrome
              @依阑记梦

              我在用的也是ios系统哎 而且在用的Linux 和Windows系统都没问题

  6. w4j1e   V2
    04-16 22:41 第80楼 中国重庆市电信Windows 10 · Google Chrome

    我也用上了这玩意,每天自动备份到onedrive,此前试用官方的同步还是太慢了。
    但是在安卓上的填充有时候半天刷不出来。
    此外,建议用域名的子目录来部署,减小被恶意扫描的风险。
    其实 edge 还不错,在手机端也可以作为默认的密码管理器给应用填充了。但是浏览器保存的密码嘛,感觉很容易被导出,不是很安全。

    1. 刘郎   博主
      04-17 07:07 第81楼 中国贵州省黔南州联通Linux · Google Chrome
      @w4j1e

      目前在使用的 Linux Chrome 和 ios Chrome 体验感都挺好的哦 偶尔也会使用 Windows 10 qqBrowser 或者 Safari 体验感稍微差一些 但整体功能 效果都还可以接受

  7. 一叶竹   初访
    03-28 17:10 第78楼 波斯尼亚和黑塞哥维那Android · Google Chrome

    bitwarden我也用了好几年了,不得不说很好用,自部署也很安心。
    如果开启了两步验证,得注意保存一下密钥,上次手机数据丢失,验证器也只装在了手机上,让我痛失了不少的密码!

    1. 刘郎   博主
      03-28 17:24 第79楼 中国贵州省移动Linux · Google Chrome
      @一叶竹

      确实挺好用的 其他的辅助验证弄多了反而挺麻烦 记一个主密码就行了 这是我个人观点哈

  8. 老谢   初访
    03-27 00:30 第76楼 中国江苏省苏州市电信Windows 10 · Google Chrome

    我都是随机生成一个密码,交给Chrome浏览器保存

    1. 刘郎   博主
      03-27 11:26 第77楼 中国贵州省移动Linux · Google Chrome
      @老谢

      用随机生成的密码确实是一个不错的选择 密码的随机性和不可逆猜性都是蛮高的 至于是交给Chrome浏览器保存 还是Bit 这个得看个人的选择了我个人觉得Chrome的使用范围相比于Bit稍微窄了一些哦

  9. Ksable   访客
    03-23 10:57 第72楼 中国广东省移动Windows 10 · Google Chrome

    遇到了个问题,在手机app端登陆了vault.bitwarden.com和自托管,然后一段时间后,自托管的账号就自己退出登录消失掉了

    1. 刘郎   博主
      03-23 11:05 第73楼 中国贵州省移动Linux · Google Chrome
      @Ksable

      是安卓系统吗 目前在官网论坛上只发现有安卓系统出现过这种情况哦 卸掉app重新安装试试

      1. Ksable   访客
        03-23 11:12 第74楼 中国广东省移动Windows 10 · Google Chrome
        @刘郎

        现在又出现一个更严重的问题,我主密码忘了~~~

        1. 刘郎   博主
          03-23 11:15 第75楼 中国贵州省移动Linux · Google Chrome
          @Ksable

          主密码忘了那就一切重头开始吧 或者找找看之前有没有做过备份记录

  10. 晚夜   V4
    03-22 16:35 第70楼 中国江苏省扬州市电信Windows 10 · Google Chrome

    我密码习惯固定不变的,总共两种,有的需要大小写和特殊符号,有的需要小写,都共用这两种

    1. 刘郎   博主
      03-22 16:38 第71楼 中国贵州省移动Linux · Google Chrome
      @晚夜

      因人而异吧这个 但出于安全性考虑 建议还是不要用相同或者相似结构的密码 不然一旦原始结构的密码泄露了 其他密码别人也很容易猜出来 但总归一句话 还是得看情况 因人而异

| 黔ICP备2024020400号 | 萌ICP备20246777号 | | 当前有 1 人在线 |
本站已加入BLOGS·CN
订阅
Sitemap
博友圈 星球穿梭
开往-友链接力