文章目录
1 Bitwarden 是什么
能看到这篇文章的,通常已经知道 Bitwarden 是什么了。
简单讲,Bitwarden 是一个密码管理软件,主要功能包括:
- 能够生成复杂的密码,避免你在注册的时候使用相同的、简单的密码
- 记录你的账号、密码,并支持云同步,这些数据和通信都是经过加密的
- 在 iOS、Android、PC 浏览器中进行集成,方便你快捷登录,而不用担心忘记密码
- 支持加密笔记,保存你的信用卡等私密信息
更多信息可以通过 Bitwarden 官网 来了解
简单来讲就是 1Password 的竞品。而 1Password 服务需要付费,而 Bitwarden 是免费的(提供增值服务),同时还是开源的。
如果你不想使用 Bitwarden 的云服务,也可以自建服务器。
2 Bitwarden 的服务端程序安装准备
2.1 有自己的 VPS 或者家里有一个主机 / NAS
显然这是必要的
2.2 准备一个域名和一个 SSL 证书
腾讯云、阿里云等都有提供非常便宜的域名购买,而且会赠送 SSL 证书(需要申请);
当然也有 noip 等提供免费域名服务,但是这些域名通常需要定期确认,所以还是比较麻烦的。
2.3 安装 docker 和 docker-compose
Bitwarden 服务端是通过 docker-compose 的方式提供的,官网有具体的安装教程,如果你还没安装,可以参考
- docker 安装,Mac 和 Windows 可以安装 docker app,Linux 需要参考各个系统的说明
- docker-compose 安装,这个文档相对比较简单
1.4 有一个不错的网(ti)络(zi)
很多服务需要下载,并且没有镜像服务器,所以你需要有一个不错的网络,能够设置命令行的 proxy。
3 Bitwarden 服务的安装
Bitwarden 提供了一个脚本来进行相关的管理。整个过程其实封装地非常简单
# 强烈建议为 bitwarden 的脚本创建一个文件夹
mkdir bitwarden
curl -Lso bitwarden.sh https://go.btwrdn.co/bw-sh
sudo chmod +x bitwarden.sh
# 查看帮助
./bitwarden.sh help
# 进行安装,主要是 docker 相关分支的下载
./bitwarden.sh install
# 安装过程中会需要填写域名、证书等相关信息,填错了也不要紧,安装完成后依然可以修改这些配置
# 安装完成后,会在当前目录下生成一个 bwdata 目录,相关文件均会放在文件夹中
4 服务配置
我们需要把 SSL 的证书放到 bwdata/ssl
文件夹下。例如我的证书和密钥分别放在 bwdata/ssl/etc/ssl/ca_bundle.crt
和 bwdata/ssl/etc/ssl/private.key
我们可以查看 bitwarden 的具体配置
cd bwdata
vi config.yml
里边配置项最主要需要确认的包括
# 配置外部访问的 URL
url: https://www.abc.com
# 配置 http 端口,如果为空,则 http 端口关闭
http_port: 80
# 配置 https 端口,外部可以通过这个地址进行访问
https_port: 8080
# 设置 ssl 证书的路径,附在 ./ssl 路径后
# 这个证书需要是 key 和 certificate 的 bundle
ssl_certificate_path: /etc/ssl/ca_bundle.crt
# 最终生成的地址会是 ./ssl/etc/ssl/ca_bundle.crt
# 设置 ssl key 的文件路径,附在 ./ssl 路径后
ssl_key_path: /etc/ssl/private.key
# 最终生成的地址会是 ./ssl/etc/ssl/private.key
除此外还需要配置一个 identity.pfx 证书,请进入你的证书和密钥所在的目录
openssl pkcs12 -export -out identity.pfx -inkey 密钥文件 -in 证书文件
生成过程中会让你输入一个密码,请打开 bwdata/env/global.override.env
文件,找到 globalSettings__identityServer__certificatePassword
选项,并把这一项的值改为这个密码
最请把刚刚生成的 identity.pfx
文件放到 bwdata/identity
文件夹下
至此,完整的配置完成,但是你需要重新构建一个 docker-compose 相关的文件
# 请先返回 bitwarden.sh 所在的目录
./bitwarden.sh rebuild
5 调试与使用
# 运行 bitwarden
./bitwarden.sh start
# 查看相关镜像的状态,包括端口映射的情况
docker ps
# 如果发现问题,可以查看日志
cd bwdata/logs
# 你的问题可能主要集中在 nginx 中,那么可以
cd nginx
tail error.log
# 通常是你的证书有问题,例如
## 你的证书文件不是 key 和 certificate 的 bundle,那就仔细看下证书文件
## 你当前的用户没有文件的读写权限,那么请 chmod 或 chown
## 你的文件没放到正确的目录下,请检查你的文件目录
至此,安装和调试完成,你可以尝试通过 https://网址:端口 来进行访问,并注册一个账号。
6 客户端的使用
这里只谈如何切换服务器。
在各个端的登录页面,都能明显看见一个齿轮图标,可以在这里对使用的服务器进行设置。