说明

Bitwarden 是一款免费开源的密码管理软件,提供多种客户端,包括网页、桌面应用,浏览器扩展、移动应用,支持自行部署。

特别是网页端,配合 Chrome 插件,登陆各种网站的时候一键填写用户名&密码是真的很爽啊。

橙子之前一直使用 Bitwarden 官方托管服务,也就是通过官网注册账号来使用 Bitwarden 。刚好橙子的腾讯云无忧计划轻量服务器性能过剩,所以准备搭建自己的 Bitwarden 服务器。

本教程通过 宝塔面板 LNMP环境 (极速安装模式)Docker 完成

宝塔安装方法请查看官网安装方法

本教程使用vps为腾讯云轻量服务器

海外:RMB 288一年 (1核1G SSD:25GB 带宽:30Mbps 流量:1024GB/月
国内无忧轻量:RMB 188一年 (1核2G SSD:50GB 带宽:5Mbps 流量:500GB/月
点击购买

本教程vps 系统:Debain 10

建议

如果不是特别担心自己的密码安全,使用官方服务也没啥问题,做到勤备份就好了。

关于密码管理的习惯

每个人都有自己的密码管理习惯,这里说一下橙子个人的 Bitwarden 密码管理习惯

  • ⚠️ Bitwarden 账户登陆密码

区别与其它一切密码,保存在脑子里,密码强度:最高

  • 常用网站:涉及到个人真实信息及支付方式的网站

使用 第一组固定密码 通过 bitwarden 分类保存,密码强度:最高

  • 个人网站:自己搭建的,例如博客等网站

使用 第二组固定密码 通过 bitwarden 分类保存,密码强度:最高

  • 普通网站:其它可靠网站

使用 第三组固定密码 通过 bitwarden 分类保存,密码强度:高

  • 机场类网站

使用 bitwarden 生成 随机密码 并保存,密码强度:高

  • 临时注册,也许一万年只登录一次的网站

使用 bitwarden 生成 随机密码 并保存,密码强度:高

  • Bitwarden 密码整理

1 解析域名并且在宝塔新建网站(非必选

如果你搭建 Bitwarden 服务器只是自用,或者你能接受通过 ip:端口号 的方式来访问你的 Bitwarden 服务器,那么这一步可以略过;

1.1 为自己的 Bitwarden 站点解析一个二级域名

这一步是为了后期我们能通过访问网址来登陆我们自己搭建的 Bitwarden 服务器;

以Cloudflare为例:

  • 类型:A(A记录
  • 名称:随意(例如bitwarden
  • IPv4:填写你VPS的外网ip地址
  • 代理状态:关闭(后期申请证书打开https访问后再打开
    利用A记录解析二级域名

1.2 在宝塔新建站点

宝塔面板 - 网站 - 添加站点

  • 域名:填写你解析的二级域名(例如 bitwarden.yourdomain.com
  • 备注:建议改为 bitwarden,方便后期区分
  • 根目录:不做改动
  • FTP:不创建
  • 数据库:不创建
  • PHP版本:纯静态
    宝塔新建站点

2 宝塔安装Docker管理器

2.1 通过宝塔软件商店安装

直接在宝塔面板 - 软件商店 搜索 Docker管理器 进行安装。
宝塔安装Docker管理器

安装完成后打开 Docker管理器 后面的 首页显示 开关,方便在宝塔面板首页直接调用。
将Docker管理器放到宝塔首页

2.2 宝塔Docker管理器启动失败解决办法-手动安装 (滑稽

一般情况下,通过宝塔面板安装完成 Docker管理器 后就能正常启动运行,如果提示启动失败,可能是因为你的 VPS 系统是一键DD的精简版或者是缺少某些环境,SSH 连接 VPS后执行一遍以下命令基本能解决问题:

  • 更新现有的包列表:

    sudo apt update
  • 安装一些允许 apt 使用包通过 HTTPS 的必备软件包:

    sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common
  • 将官方Docker存储库的GPG密钥添加到您的系统:

    curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
  • 将Docker存储库添加到APT源:

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
  • 使用新添加的repo中的Docker包更新包数据库:

    sudo apt update
  • 安装Docker:

    sudo apt install docker-ce
  • 检查 Docker 状态并启用进程启动进程:

    sudo systemctl status docker

    在宝塔面板重新运行 Docker管理器 ,成功启动。

宝塔首页点击运行Docker管理器

3 拉取 Bitwrden 官方Docker镜像

打开 Docker 管理器,点击 镜像管理,再点击 获取镜像

增加镜像

输入 vaultwarden/server ,之后点击 获取镜像

拉取 Bitwarden 官方镜像

4 创建 Bitwarden Docker 容器

4.1 创建容器

点击 容器列表 - 创建容器 ,弹出容器创建界面

  • 端口映射:

    > - 容器端口:80
    > - 服务器端口:随意(例如 6789  
    >    **填写完点击右边 `+` 号**
  • 目录映射:

    > - 容器目录:  
    >    1. 如果之前有新建站点,则填写站点目录(例如 www/wwwroot/bitwarden.yourdomain.com
    >    1. 如果之前未新建站点,则随意填写(例如 bitwarden
    > - 服务器目录:/data  
    >    **填写完点击右边 `+` 号**
  • 内存配额:推荐 512M
    填写完点击 提交

创建容器

4.2 修改容器名称

容器创建后,点击容器名称后面的编辑按钮,修改容器名称,方便后期操作;
推荐改为: bitwarden

容器改名

5 浏览器访问 Bitwarden 服务器

到这一步,已经可以通过 ip:端口号 的方式来访问我们的 Bitwarden 服务器并注册账户使用了

通过ip+端口号访问 Bitwarden 服务器

5.1 给宝塔添加的网站添加反向代理

如果你想把你的 Bitwarden 服务器分享给其他人使用,或者你希望通过 域名 的方式来访问你的 Bitwarden 服务器的话,就需要用到教程一开始新建的站点了:

宝塔面板点击 - 网站 - 为bitwarden 新建的站点 - 设置

设置网站

点击 SSL - Let's Encrypt - 勾选域名(为网站申请 SSL 证书,开启 https 访问

给站点申请SSL证书

证书申请成功后,打开 强制HTTPS

给站点开启强制HTTPS

点击 反向代理 - 添加反向代理

  • 代理名称:随意(例如 Bitwarden
  • 目标 URL:http://127.0.0.1:容器服务器端口号(例如 http://127.0.0.1:6789
    给站点添加反代

5.2 通过域名加密访问 Bitwarden 服务器

直接在浏览器输入你为 Bitwarden 服务器解析的域名进行访问,域名前HTTPS的小锁也出来了

通过域名加密访问 Bitwarden 服务器

5.3 给Bitwarden 服务器域名套用CDN

虽然这时候表面上看不到 VPS 的 IP 地址了,但其实只要在 终端(cmd)中ping 一下你的域名,还是能知道你的 IP 是多少,安全起见(滑稽),我们需要给域名套用CDN,隐藏 VPS 的真实IP.

以 Cloudflare 为例,找到我们之前解析的A记录,打开 代理状态 的开关就好了

给 Bitwarden 服务器域名套用CDN

6 注册账户开始使用自己的 Bitwarden 服务器

如果你之前使用的是官方服务,登陆Bitwarden官方托管导出密码库;
回到你自己搭建的 Bitwarden 服务器,重新导入数据就好了

⚠️和官方托管一样,在自己 Bitwarden 服务器注册的账号,登陆密码一定一定要自己记好了

Bitwarden 导入/导出密码库

7 如何在客户端登陆自己的 Bitwarden 服务器

如果你所使用的客户端已经登陆过官方服务器,记得先 导出密码库 后 再注销登录;

  • 以 Bitwarden Chrome 插件为例:
    设置 - 注销登录 后,点击左上角 设置按钮 - 在 自托管环境 下填写我们自己的服务器域名并 保存

Bitwarden 自托管服务器登录

8 关闭注册功能

我们的自托管 Bitwarden 服务器部署成功后,可以先自己注册账号,朋友有需要也可以先提前注册,之后如果不希望别人再注册新账号,可以通过如下操作实现:

8.1 停止并删除容器

在宝塔 Docker 管理器中(2、3步不能搞反

  1. 确认容器名称(本教程容器名称为:bitwarden
  2. 停止容器
  3. 删除容器
  4. SSH 连接 VPS 运行以下命令
docker run -d --name bitwarden -e SIGNUPS_ALLOWED=false -v /www/wwwroot/domain.com/:/data/ -p 6789:80 vaultwarden/server:latest
  • name 后参数为容器名称(本教程为 bitwarden
  • SIGNUPS_ALLOWED=false 表示关闭注册(反之 true 表示允许注册
  • v 后参数为上边填写的容器目录
  • p 后参数为服务器端口:容器端口(本教程为 6789:80

8.2 新建容器

完成后在 SSH 中输入以下命令重启新建的容器

docker stop bitwarden
docker start bitwarden

完成后就关闭了注册功能,如果要重新开启注册功能,重复以上步骤并把 SIGNUPS_ALLOWED=false 修改为 SIGNUPS_ALLOWED=true 就可以。

⚠️如果重新创建容器后出现已注册账号无法登录等问题,重启一下容器 或者重新 停止、删除、创建容器 即可解决

最后修改:2021 年 08 月 20 日
如果觉得我的文章对你有用,请随意赞赏