现在不管是浏览或使用什么网站或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.下载Bitwarden
根据你自己使用的电脑系统或者手机系统,去相应的应用商店下载 Bitwarden 应用并打开。
2.客户端首次登录
在客户端(手机)上第一次登录 Bitwarden 应用时,我们要选择 " 登录到自托管 " 。
3.自托管环境设置
服务器URL地址这里,填写我们前面部署 Bitwarden 项目时反向代理用的域名 https://自定义域名/
,填完这项保存即可,其它项都可以不用管。
4.客户端初步设置
① 设置解锁方式
进入 Bitwarden 的客户端页面后,我们可以先进行简单的初次设置,点击"设置"、"账户安全",然后开启"面容ID解锁"或者"指纹解锁",这样每当我们退出该软件下次再进来时,就不需要再输入繁琐的主密码了。
② 自动填充
根据自己的需求选择"密码自动填充"和"APP拓展"即点击特定的按钮而达到快速填充密码的效果。
写在最后
作为一个注重隐私与效率的我来说,使用 Bitwarden 也有一段时间了,整体感受良好,当然它也并非十全十美。使用 Bitwarden 最直观的好处就是便捷。以前我需要在不同平台反复记忆和输入各种账号密码,繁琐又容易出错,现在借助其自动填充功能,不管是电脑浏览器还是手机应用,登录操作都变得快速流畅。它不仅支持多种类型信息的存储,像身份证号、信用卡信息等,在需要填写表单时,一键填充,大大提升了效率。
从安全性来说,Bitwarden采用AES - 256位加密、盐值哈希等技术,主密码是数据安全的关键,只要保管好主密码,数据就能得到有效保护。而且它开源,接受全球社区的安全审计,这让我对它的信任度远超一些闭源密码管理工具。不过, Bitwarden也存在些许不足。在使用中,我发现它与个别小众网站兼容性欠佳,偶尔会出现自动填充失败的情况,需要再次点击填充输入或手动输入,比较影响体验。
总的来说, Bitwarden 的优点还是蛮明显的,在密码管理和隐私保护上表现还算出色,虽然也有一些小问题,但这也不影响它成为一款优秀的密码管理工具,也不影响它成为我心中还算理想的一款密码管理工具。