总是记不住账号密码怎么办?教程分享借力Lighthouse实例与bitwarden快速搭建属于自己的密码管理器

【5分钟玩转Lighthouse】系列文章将为大家分享轻量应用服务器使用教程,提供丰富的实践指南,帮助大家快速上手并获得最佳产品体验。总是记不住账号密码怎么办?本期主要介绍如何借力Lighthouse实例与bitwarden,快速搭建属于自己的密码管理器。

背景概述

在网上冲浪的每一天,我们会进入不同的网站和APP享受各类服务。「账号密码」就如同各个平台的身份证体系,来帮助确认我们独特的身份。

但显然,「账号密码」远不如身份证便捷安全。在互联网五花八门的使用场景下,如此多账号使用统一密码,就存在一个密码被攻破则其它密码都失效的灾难性后果。但若分别设置,记住这些密码又成了一个难题。

虽然当前市场上有众多密码管理工具,如1Password、OneSafe、LastPass等,但这些工具大多数需要收费,并且是将密码存储在其提供的服务器上。把密码交给别人管理,多少还是有些不放心。

本教程将为大家介绍在腾讯云轻量应用服务器 Lighthouse 上,基于Docker搭建bitwarden私人密码管理器,助你轻松解决密码管理这件大事。

为何选择 Lighthouse 和 bitwarden?

轻量应用服务器 Lighthouse 创建简单,性价比高,自带Docker镜像。

Bitwarden是一款有免费版且开源的密码管理工具。允许自建密码管理服务,完全不用担心密码被别人管理的问题。同时 biwarden 对Windows,Linux,Mac,iPhone,Android以及Chrome等多种主流浏览器都支持,完全满足个人跨平台、跨终端的密码管理需求。

服务器准备

我们首先在腾讯云轻量应用服务器 Lighthouse 购买页面购买一台服务器。具体配置如下:

  • 地域:中国香港
  • 镜像:应用镜像Docker
  • 实例套餐:CPU 2核 内存2G SSD 80GB 峰值带宽 30Mbps 每月流量3072GB
  • 实例名称:输入 bitwarden 即可

点击“立即购买”,付款之后服务器就开始创建了。当服务器状态为“运行中”时,我们就可以使用了。

Bitwarden 建议使用CPU2核、内存2G、磁盘25G的配置,因此我们选择了以上套餐。搭建 bitwarden 服务器我们使用Docker镜像的方式,直接选择 Lighthouse 自带的Docker镜像即可。有了服务器,接下来我们就要搭建 bitwarden 密码管理器了。

搭建bitwarden个人密码管理器

注册域名与配置解析

为了方便记忆 bitwarden 密码管理器服务地址,我们先申请一个域名以方便访问。进入轻量应用服务器的实例详情页面,点击 “注册域名”。

接下来参考腾讯云官方文档《域名注册》完成域名的购买、注册和实名认证。如下图所示,域名购买成功。

域名解析:点击域名后的解析,添加一条A记录,主机记录填 “WWW”,记录值填写轻量应用服务器的外网IP。

申请与下载SSL证书

为了保证轻量应用服务器通信的安全性,我们要使用HTTPS协议进行通信。因此我们再申请SSL证书具体参考腾讯云官方文档《SSL证书新手入门》,申请“域名型免费版SSL证书”即可。申请好证书后,点击“下载证书”,留待后面上传到轻量应用服务器上,配置Nginx使用的SSL证书。

安装bitwarden

我们先部署 bitwarden,然后使用Nginx作为反向代理,将请求转发到 bitwarden服务器上。

r /data/bitwarden
docker run  -d \
            --rm \
            --name bitwarden \
            -p 8080:80 \
            -p 3012:3012 \
            -e SIGNUPS_ALLOWED=true \
            -e WEB_VAULT_ENABLED=true \
            -e DOMAIN=https://mydomain.cn \
            -v /data/bitwarden:/data \
            bitwardenrs/server:latest
            
上面命令的各个参数含义如下:
-d 在后台运行
--rm 容器停止运行后,自动删除容器文件
--name bitwarden容器的名字为bitwarden
-p 8080:80 容器的端口80映射到8080,在Nginx配置
-p 3012:3012 容器的端口3012映射到3012
-e SIGNUPS_ALLOWED=true 设置环境变量SIGNUPS_ALLOWED=true允许用户注册
-e WBE_VAULT_ENABLE=true 设置环境变量WBE_VAULT_ENABLE=true
-e DOMAIN=https://mydomain.cn设置域名,需要替换成自己申请的域名
-v /data/bitwarden:/data 容器的/data/目录映射到宿主机的/data/bitwarden目录

安装并配置Nginx

接下来使用docker安装Nginx并配置SSL证书与反向代理。

docker run \
           --rm \
           --name nginx \
           -d \
           nginx
           
上面命令的各个参数含义如下:
--rm 容器停止运行后,自动删除容器文件
--name nginx 容器的名字为nginx
-d 在后台运行
docker cp nginx:/etc/nginx /data

上面命令的含义:将nginx容器内的/etc/nginx目录复制到宿主机的/data目录

配置SSL证书与反向代理:解压从腾讯云证书控制台下载的SSL证书文件。目录结构如下,我们使Nginx目录中的.crt和.key文件使用。

mkdir /data/nginx/certs
cp ./Nginx/1_mydomain _bundle.crt /data/nginx/certs
cp ./Nginx/2_mydomain.key /data/nginx/certs

打开nginx文件/data/nginx/conf.d/default.conf中新增如下内容:

server {
    listen 80;
    ……此处省略无修改的内容
    return 301 https://$host$request_uri; #将http的域名请求转成https
}
server {
  listen 443 ssl http2;
  server_name localhost;
  ssl on;
  ssl_certificate /etc/nginx/certs/1_mydomain_bundle.crt; #配置证书文件
  ssl_certificate_key /etc/nginx/certs/2_mydomain.key; #配置证书私钥文件
  ssl_session_timeout 5m;
  ssl_ciphers HIGH:!aNULL:!MD5;
  ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
  ssl_prefer_server_ciphers on;
 
   #配置反向代理,请求代理发送到8080端口
  location / { 
    proxy_pass http://127.0.0.1:8080; 
    proxy_set_header Host $host; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header X-Forwarded-Proto $scheme; 
    root /usr/share/nginx/html;
   index index.html index.htm;
 }
  
 location /notifications/hub { 
    proxy_pass http://127.0.0.1:3012; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection "upgrade"; 
 }
  
 location /notifications/hub/negotiate { 
   proxy_pass http://127.0.0.1:8080; 
 }

}

重启nginx使配置生效。至此我们就完成了 bitwarden 密码管理器的安装和部署。

docker restart nginx

使用bitwarden管理密码

访问我们的域名就可以访问 bitwarden 的主页,接下来我们来介绍一下如何使用自己 bitwarden 管理我们各个平台与各个终端上的密码。

注册bitwarden账号

首先我们使用自己的电子邮件地址注册一个账号。接下来返回到登录页面,输入电子邮件地址,和主密码即可登录。下图显示注册账号后为空的密码库。

禁止其他人注册

由于这个 bitwarden 服务器是供个人使用,我们在注册完账号后,要关闭注册功能,防止他人注册。

# 先停止bitwarden容器
docker stop bitwarden
# 设置环境变量不允许注册用户-e SIGNUPS_ALLOWED=false,再启动bitwarden容器
docker run -d \
 --rm \
 --name bitwarden \
 -p 8080:80 \
 -p 3012:3012 \
 -e SIGNUPS_ALLOWED=false \
 -e WEB_VAULT_ENABLED=true \
 -e DOMAIN=https://mydomain \
 -v /data/bitwarden:/data \
  bitwardenrs/server:latest

此时再注册账号时,会提示Registration not allowed or user already exists.这样的错误。

Chrome上使用bitwarden

在chrome网上应用店搜索 bitwarden,并添加至Chrome中。

接下来我们就体验一下,bitwarden 自动保存密码的功能。在Chrome浏览器中,我们登录果壳网,bitwarden 会自动检测需要保存的用户名和密码。点击“是的,现在保存”即可。

接下来,我们退出账号,再次重新登录,点击 bitwarden 中的登录项目,account.guokr.com,密码用户名和密码就会自动填充好。

iOS上使用bitwarden

在AppStore上搜索 bitwarden,下载 bitwarden 密码管理器。打开APP,点击设置图标,设置我们搭建的 bitwarden 服务器域名。

点击“登录”,用注册的 bitwarden 账号登录到我们搭建的服务器上。接下来用safari浏览器打开account.guokr.com,此时safari会自动弹出“使用Bitwarden,登录guokr.com”,选择我们要登录的账号,确定登录。

Bitwarden就会自动填充上用户名和密码,登录成功。

小结

通过借助轻量应用服务器 Lighthouse 和 bitwarden 我们成功搭建了个人密码管理器。轻量应用服务器提供的Docker镜像,为我们提供了一键运行容器的环境。Bitwarden 提供的跨平台、跨终端能力,让我们再也不用为管理密码头疼了。最重要的是 bitwarden 自行部署能力,让我们把密码安全掌握在自己的手里,这才是密码管理器最让人放心的地方。