Bitwarden:开源跨平台密码管理器,可搭建自己的私人密码库

官网:https://bitwarden.com/

Bitwarden是一款开源的密码管理器,支持 Windows、Mac、Linux、iOS、Android 平台,同时也提供了 Chrome、Edge、Firefox、Safari 等浏览器扩展,采用本地加密,云同步的方式,可实现快速填充帐号密码一键登录网站。

%title插图%num

特征

安全密码分享

快速轻松地共享您的加密数据,并且只与需要访问的用户或团队共享

跨平台可访问性

从任何位置、浏览器和设备访问 Bitwarden 保管库中的关键数据

基于云或自托管

在云端几分钟内启动并运行,或者您可以自行托管 Bitwarden 以实现完整的数据控制

安全审计与合规

开源和第三方审计,Bitwarden 遵守隐私保护、GDPR、CCPA 法规

Vault 运行状况报告

访问有见地的报告以揭示弱密码、重复使用的密码和其他有用的数据安全指标

目录同步

我们强大的目录连接器简化了用户和组的引导并保持同步

永远在线的支持

我们的客户成功代理可全天候为您提供支持

详细的事件日志

Bitwarden 创建审计跟踪以帮助您跟踪用户和组对敏感数据的访问

灵活的集成

使用 SSO 身份验证、目录服务或强大的 API 将您现有的系统与 Bitwarden 联合起来

使用Bitwarden搭建自己的密码库

Bitwarden 支持本地托管,可以搭建私人专属密码库,部署到自己的服务器、 NAS、树莓派等设备上去,所有的密码数据、通讯都不会经过第三方,更能让人放心。

域名

你需要一个域名用于访问你的服务器。然后进入你的域名后台将域名指向你的服务器。

在Linux上部署Bitwarden

如果不能访问https://bitwarden.com/https://www.docker.com/,可能无法安装。

Bitwarden 将使用一系列Docker 容器在你的机器上部署和运行。容器的部署是使用Docker Compose编排的。一些 Docker 安装,包括 Docker for macOS,已经安装了 Docker Compose。

在这里以centos7为例进行介绍。

安装 Docker

Docker 要求 CentOS 系统的内核版本高于 3.10,可以运行 uname -r 查看版本。

uname -r
%title插图%num

使用 root 权限登录 Centos。确保 yum 包更新到最新。

sudo yum update

卸载旧版本(如果安装过旧版本的话)

sudo yum remove docker  docker-common docker-selinux docker-engine

安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的。

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

设置yum源

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

通过 yum 安装 docker

sudo yum install docker-ce docker-ce-cli containerd.io

启动 Docker 服务并设置开机启动

sudo systemctl start docker
sudo systemctl enable docker

验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

docker version

在终端执行”docker version”命令,如果出现如下报错“Got permission denied while trying to connect to the Docker daemon socket“,是因为docker进程使用 Unix Socket 而不是 TCP 端口,而默认情况下,Unix socket 属于 root 用户,因此需要 root权限 才能访问。运行以下命令:

sudo groupadd docker  #添加docker用户组
sudo gpasswd -a $XXX docker  #检测当前用户是否已经在docker用户组中,其中XXX为用户名
sudo gpasswd -a $USER docker  #将当前用户添加至docker用户组
newgrp docker  #更新docker用户组

docker安装成功截图:

%title插图%num
安装 Docker Compose

https://docs.docker.com/compose/install/页面下方,选择Linux,根据下方安装说明进行安装。

%title插图%num

下载最新版本的 docker-compose,要安装不同版本的 Compose,请替换1.29.2 为您要使用的 Compose 版本。

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

授予可执行权限:

sudo chmod +x /usr/local/bin/docker-compose

测试是否安装成功:

docker-compose --version

Docker Compose安装成功截图:

%title插图%num
安装 Bitwarden

1、下载 Bitwarden 的安装脚本

curl -Lso bitwarden.sh https://go.btwrdn.co/bw-sh && chmod 700 bitwarden.sh

或者

curl -s -o bitwarden.sh https://raw.githubusercontent.com/bitwarden/server/master/scripts/bitwarden.sh && chmod +x bitwarden.sh

2、执行安装程序

./bitwarden.sh install
%title插图%num

完成安装程序中的提示:

%title插图%num

Enter the domain name for your Bitwarden instance

输入你要给 Bitwarden 分配的域名

%title插图%num

Do you want to use Let’s Encrypt to generate a free SSL certificate? (y/n)

输入y使用 Let’s Encrypt 生成受信任的 SSL 证书。系统将提示您输入来自 Let’s Encrypt 的过期提醒电子邮件地址。

你有自己的证书也可以输入n,后面需要配置证书的路径。

%title插图%num

Enter the database name for your Bitwarden instance

输入用于 Bitwarden 的数据库名称

%title插图%num

Enter your installation id/Enter your installation key

访问https://bitwarden.com/host,使用有效的电子邮件获取安装 ID 和密钥。

如果之前选择n,则会还有下面的选项:

%title插图%num

Do you want to generate a self-signed SSL certificate? (y/n)

您要生成自签名 SSL 证书吗?

输入y让 Bitwarden 为你生成自签名证书。此选项仅推荐用于测试。如果你输入n,你的实例将不使用 SSL 证书,并且你将需要在安装前使用 HTTPS 代理,否则 Bitwarden 应用程序将无法正常运行。

安装完成界面:

%title插图%num
启动Bitwarden

完成所有前面的步骤后,通过运行以下命令启动你的 Bitwarden:

./bitwarden.sh start

首次启动 Bitwarden 可能时间会比较长,因为安装脚本要从 Docker Hub 下载全部需要的组件的镜像。

安装后配置

配置您的环境可能涉及对两个文件进行更改;一个环境变量文件和一个安装文件。

1、环境变量

Bitwarden 的某些功能不是由bitwarden.ps1配置的,需要通过编辑位于./bwdata/env/global.override.env的文件进行修改。

%title插图%num

globalSettings__mail__smtp__host:你的邮箱smtp主机名,一般由邮箱服务商提供;
globalSettings__mail__smtp__port:你的邮箱smtp端口号,一般由邮箱服务商提供;
globalSettings__mail__smtp__ssl:使用SSL连接,一般为true;
globalSettings__mail__smtp__username:你的邮箱名称;
globalSettings__mail__smtp__password:你的邮箱的smtp密码,不是邮箱登录密码;
globalSettings__disableUserRegistration:如果你的 Bitwarden 打算是私人使用,建议在注册完自己账号之后,改成 “false”;
adminSettings__admins:添加电子邮件地址提供对管理门户的访问权限。

编辑,运行以下命令以应用你的更改:

./bitwarden.sh restart

2、安装文件

如果你需要使用自己的 SSL 证书、修改默认的端口号等需求,可以编辑配置文件 ./bwdata/config.yml

%title插图%num

http_port:http端口;
https_port:https端口;
ssl_certificate_path:证书文件路径;
ssl_key_path:私钥文件路径;
ssl_ca_path:证书链路径。

编辑后,运行以下命令以应用你的更改:

./bitwarden.sh rebuild

在Windows上部署Bitwarden

如果不能访问https://bitwarden.com/https://www.docker.com/,可能无法安装。

安装 Docker

https://www.docker.com/products/docker-desktop下载安装Docker Desktop,并在安装过程中选中启用 Hyper-V Windows 功能配置选项。Windows系统中Docker安装后,Docker Compose自带的,不需要另外安装。

%title插图%num
安装 Bitwarden

1、在任意目录新建一个文件夹用于存放Bitwarden数据。

2、以管理员身份打开 PowerShell,进入刚才创建的文件夹,或在该文件夹内按住shift键,同时点击鼠标右键,选择“在此处打开Powershell窗口”。

3、运行以下命令下载 Bitwarden 安装脚本 ( bitwarden.ps1):

Invoke-RestMethod -OutFile bitwarden.ps1 -Uri https://go.btwrdn.co/bw-ps

或者:

Invoke-RestMethod -OutFile bitwarden.ps1 -Uri https://raw.githubusercontent.com/bitwarden/server/master/scripts/bitwarden.ps1
%title插图%num

4、使用以下命令运行安装程序脚本:

.\bitwarden.ps1 -install

如果提示 “无法加载文件*\bitwarden.ps1,因为在此系统上禁止运行脚本” 的错误,

%title插图%num

执行:get-ExecutionPolicy,回复Restricted,表示状态是禁止的。

%title插图%num

执行:set-ExecutionPolicy RemoteSigned即可。

%title插图%num

运行正常界面:

%title插图%num

5、接着,安装脚本会一步步提示你输入。

%title插图%num

Enter the domain name for your Bitwarden instance

输入你要给 Bitwarden 分配的域名。

%title插图%num

Do you want to use Let’s Encrypt to generate a free SSL certificate? (y/n)

输入y使用 Let’s Encrypt 生成受信任的 SSL 证书。系统将提示您输入来自 Let’s Encrypt 的过期提醒电子邮件地址。

你有自己的证书也可以输入n,后面需要配置证书的路径。

%title插图%num

Enter the database name for your Bitwarden instance

输入用于 Bitwarden 的数据库名称。

%title插图%num

Enter your installation id/Enter your installation key

访问https://bitwarden.com/host,使用有效的电子邮件获取安装 ID 和密钥。

如果之前选择n,则会还有下面的选项:

%title插图%num

Do you want to generate a self-signed SSL certificate? (y/n)

您要生成自签名 SSL 证书吗?

输入y让 Bitwarden 为你生成自签名证书。此选项仅推荐用于测试。如果你输入n,你的实例将不使用 SSL 证书,并且你将需要在安装前使用 HTTPS 代理,否则 Bitwarden 应用程序将无法正常运行。

启动Bitwarden

完成所有前面的步骤后,通过运行以下命令启动你的 Bitwarden:

.\bitwarden.ps1 -start

首次启动 Bitwarden 可能时间会比较长,因为安装脚本要从 Docker Hub 下载全部需要的组件的镜像。

%title插图%num

之后,可以使用 docker ps 命令来查看是否有 Bitwarden 的进程。

%title插图%num
安装后配置

配置您的环境可能涉及对两个文件进行更改;一个环境变量文件和一个安装文件。

1、环境变量

Bitwarden 的某些功能不是由bitwarden.ps1配置的,需要通过编辑位于\bwdata\env\global.override.env的文件进行修改。

%title插图%num

globalSettings__mail__smtp__host:你的邮箱smtp主机名,一般由邮箱服务商提供;
globalSettings__mail__smtp__port:你的邮箱smtp端口号,一般由邮箱服务商提供;
globalSettings__mail__smtp__ssl:使用SSL连接,一般为true;
globalSettings__mail__smtp__username:你的邮箱名称;
globalSettings__mail__smtp__password:你的邮箱的smtp密码,不是邮箱登录密码;
globalSettings__disableUserRegistration:如果你的 Bitwarden 打算是私人使用,建议在注册完自己账号之后,改成 “false”;
adminSettings__admins:添加电子邮件地址提供对管理门户的访问权限。

编辑,运行以下命令以应用你的更改:

.\bitwarden.ps1 -restart

2、安装文件

如果你需要使用自己的 SSL 证书、修改默认的端口号等需求,可以编辑配置文件 .\bwdata\config.yml

%title插图%num

http_port:http端口;
https_port:https端口;
ssl_certificate_path:证书文件路径;
ssl_key_path:私钥文件路径;
ssl_ca_path:证书链路径。

编辑后,运行以下命令以应用你的更改:

.\bitwarden.ps1 -rebuild

后续维护命令

Bitwarden 安装脚本(bitwarden.shbitwarden.ps1)具有以下可用命令,PowerShell 用户将运行带有前缀 - 的命令。例如.\bitwarden.ps1 -start。:

install启动安装程序
start启动所有容器
restart重新启动所有容器(与启动相同)
stop停止所有容器
update更新所有容器和数据库
updatedb更新/初始化数据库
updateself更新 bitwarden.sh 文件本身
updateconf更新所有容器,而无需重新启动正在运行的实例
renewcert续订证书
rebuild重建 config.yml 的配置
help列出所有命令

在群晖上部署Bitwarden

在套件中心中安装docker;

%title插图%num

在docker文件夹中新建一个文件夹用于存储Bitwarden数据;

%title插图%num

打开docker,在注册表选项中搜索vaultwarden,因为bitwardenrs/server改名为vaultwarden/server了;

%title插图%num

双击 vaultwarden/server ,点击选择进行下载;

%title插图%num

下载完成后,在映像选项中双击刚才下载的vaultwarden/server:latest,进入配置界面;

%title插图%num

点击高级设置,进入高级设置界面,可设置是否自动重新启动:

%title插图%num

选中上方存储空间选项,点击添加文件夹,选择为刚刚创建的文件夹, 装载路径一定要输入 /data ;

%title插图%num

进入端口设置,首先删除原先的配置,添加一条如下的配置,本地端口使用任意未被占用的端口,容器端口填入80;

%title插图%num

然后进入环境配置界面,环境配置可以配置注册是否开放,时区,邮件验证功能,没有特殊需求设置SIGNUPS_ALLOWED、TZ即可,设置如下:

%title插图%num

SIGNUPS_ALLOWED 控制注册是否开放,true开放注册,false关闭注册;

TZ 控制时区,默认时区是utc,TZ设置为 Asia/Shanghai 即表示时区设置为上海。

配置邮件验证:邮件验证需要配置 SMTP_PASSWORD、SMTP_USERNAME、SMTP_SSL、SMTP_PORT、SMTP_FROM、SMTP_HOST ,配置如下:

%title插图%num

SMTP_PASSWORD:你的邮箱的smtp密码,不是邮箱登录密码;

SMTP_USERNAME:你的邮箱名称;

SMTP_FROM 同上;

SMTP_SSL 使用SSL连接,值为true;

SMTP_PORT:你的邮箱smtp端口号,一般由邮箱服务商提供;

SMTP_HOST:你的邮箱smtp主机名,一般由邮箱服务商提供。

全部设置好以后,应用→下一步→应用。

配置完毕以后把bitwarden容器运行起来,这个时候使用 [群晖ip:自己设置的端口] 即可访问到bitwarden的登录页面了。但是这样是无法登录的,需要使用SSL进行登录。

如果你有域名和公网ip,可以直接使用群晖反向代理进行设置。

%title插图%num

如果没有域名或公网IP,可以使用花生壳网云穿等内网穿透软件进行访问。

Bitwarden的使用

Bitwarden部署完后就可以进行使用了。这是Bitwarden的主界面:

%title插图%num

第一次使用,需要创建账号,点击Creat Account进入创建账号界面:

%title插图%num

注册完成以后登录进去,可进行二次登录验证、导入密码库等操作:

%title插图%num

Bitwarde可支持多平台,以下是各平台使用截图:

在各平台使用自己搭建的Bitwarden的方法:

在登录界面点击左上角设置按钮:

%title插图%num

在自托管环境的服务器URL中输入自己的Bitwarden网址,点击保存回到登录页,用你的账号登录即可。

%title插图%num

Bitwarden各应用下载地址:https://bitwarden.com/download/

Bitwarden开源地址:https://github.com/bitwarden

留下评论