现在不管是浏览或使用什么网站或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 $work3.放行端口
登录网站服务器和云服务器提供商控制台,进入防火墙自定义放行端口。可以使用以下命令查询该端口的占用情况:
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.点击顶部的Settings后展开第一个选项"General settings":
确保General settings中将"Allow new signups 允许新注册(第10行)"和"Allow invitations 允许邀请(第16行)"两个都是被勾选上的。
2.点击顶部的Users选项,在Invite Users处填写你要用来注册Bitwarden账户的邮箱:
3.过一会儿你填写的邮箱就会收到一条包含注册账户的邮件,按提示自定义填写好用户昵称和用户密码即可:
在注册完成之后,如果你后期只想自己使用,返回前面的操作,将"Allow new signups 允许新注册(第10行)"和"Allow invitations 允许邀请(第16行)"两个被打勾的选项,取消即可。
客户端使用
1.下载Bitwarden
根据你自己使用的电脑系统或者手机系统,去相应的应用商店下载 Bitwarden 应用并打开。
2.客户端首次登录
在客户端(手机)上第一次登录 Bitwarden 应用时,我们要选择 " 登录到自托管 " 。
3.自托管环境设置
服务器URL地址这里,填写我们前面部署 Bitwarden 项目时反向代理用的域名 https://自定义域名/ ,填完这项保存即可,其它项都可以不用管。
4.客户端初步设置
① 设置解锁方式
进入 Bitwarden 的客户端页面后,我们可以先进行简单的初次设置,点击"设置"、"账户安全",然后开启"面容ID解锁"或者"指纹解锁",这样每当我们退出该软件下次再进来时,就不需要再输入繁琐的主密码了。
② 自动填充
根据自己的需求选择"密码自动填充"和"APP拓展"即点击特定的按钮而达到快速填充密码的效果。
写在最后
作为一个注重隐私与效率的我来说,使用 Bitwarden 也有一段时间了,整体感受良好,当然它也并非十全十美。使用 Bitwarden 最直观的好处就是便捷。以前我需要在不同平台反复记忆和输入各种账号密码,繁琐又容易出错,现在借助其自动填充功能,不管是电脑浏览器还是手机应用,登录操作都变得快速流畅。它不仅支持多种类型信息的存储,像身份证号、信用卡信息等,在需要填写表单时,一键填充,大大提升了效率。
从安全性来说,Bitwarden采用AES - 256位加密、盐值哈希等技术,主密码是数据安全的关键,只要保管好主密码,数据就能得到有效保护。而且它开源,接受全球社区的安全审计,这让我对它的信任度远超一些闭源密码管理工具。不过, Bitwarden也存在些许不足。在使用中,我发现它与个别小众网站兼容性欠佳,偶尔会出现自动填充失败的情况,需要再次点击填充输入或手动输入,比较影响体验。
总的来说, Bitwarden 的优点还是蛮明显的,在密码管理和隐私保护上表现还算出色,虽然也有一些小问题,但这也不影响它成为一款优秀的密码管理工具,也不影响它成为我心中还算理想的一款密码管理工具。
客户端在用这个,服务端在用开源的Vaultwarden;开了二次验证,但好像只有网页登录要验证,客户端登录只要输入主密码就行。
使用下来感觉两者都差不多 我客户端和Pc端都在用 客户端直接刷脸验证就行 Pc端稍微麻烦一点 要验证主密码 不过总的来说 都挺不错的
我用Bitwarden也有一段时间了,特别是浏览器扩展很方便,但是最近听说Bitwarden浏览器拓展有漏洞会被劫持,在考虑要不要换成keepassxc
keepassxc 我没用过哎 Bitwarden用着确实很方便 不论PC端还是移动端 用着非常便捷 至于你说的浏览器拓展漏洞 这个我倒是没发现 依然正常使用中 再者Bitwarden只用于存储网站密码 其他重要的密码存其他地方 或用其他方案 总之 Bitwarden就目前来说 还是挺好用的 也是值得推荐使用的
确实,Bitwarden用着太方便了,而且对网络需求很低,我即使部署在NAS上,用Cloudflare Tunnel做内网穿透都绰绰有余
我最开始也是自建的 Bitwarden,但是后来买了Enpass,通过Webdav同步密码库挺方便的,就抛弃了 Bitwarden。
我依旧还在用自建的Bitwarden 便捷 实用呀😄
用了之后 会不会 彻底忘记了密码,最后只记住了一个主密码。
不会啊 在填充时相关账号显示出来时 密码默认隐藏 如果害怕忘记 也可以随时点击密码输入框右边的取消隐藏按钮查看
我自己部署的bt现在只能网页端可以用,IOS手机客户端现在无法正常登录,登录就提示 “发生错误”,重新下载最新版本也不行,奇怪,找不到原因。老哥知道怎么解决吗?
目前为止 我的网页端和移动端都能正常使用 你网页端用的是浏览器挂件还是 ios端卸载掉原来的 重新装一个 然后登陆时选自托管就行了
我已经找到原因了,但是无法解决,官方的一个帖子回复是因为card项的number中带了“.”或者其他UnIcode字符。官方说正在解决,不知道什么时候解决,怎么解决.....https://github.com/bitwarden/ios/issues/1699
我没遇到这种情况哎 直接部署好就可以正常用了
帖子下面一堆,这个情况全部都是苹果手机的,是一个针对苹果手机的bugo(╥﹏╥)o
我在用的也是ios系统哎 而且在用的Linux 和Windows系统都没问题
我也用上了这玩意,每天自动备份到onedrive,此前试用官方的同步还是太慢了。
但是在安卓上的填充有时候半天刷不出来。
此外,建议用域名的子目录来部署,减小被恶意扫描的风险。
其实 edge 还不错,在手机端也可以作为默认的密码管理器给应用填充了。但是浏览器保存的密码嘛,感觉很容易被导出,不是很安全。
目前在使用的 Linux Chrome 和 ios Chrome 体验感都挺好的哦 偶尔也会使用 Windows 10 qqBrowser 或者 Safari 体验感稍微差一些 但整体功能 效果都还可以接受
bitwarden我也用了好几年了,不得不说很好用,自部署也很安心。
如果开启了两步验证,得注意保存一下密钥,上次手机数据丢失,验证器也只装在了手机上,让我痛失了不少的密码!
确实挺好用的 其他的辅助验证弄多了反而挺麻烦 记一个主密码就行了 这是我个人观点哈
我都是随机生成一个密码,交给Chrome浏览器保存
用随机生成的密码确实是一个不错的选择 密码的随机性和不可逆猜性都是蛮高的 至于是交给Chrome浏览器保存 还是Bit 这个得看个人的选择了我个人觉得Chrome的使用范围相比于Bit稍微窄了一些哦
遇到了个问题,在手机app端登陆了vault.bitwarden.com和自托管,然后一段时间后,自托管的账号就自己退出登录消失掉了
是安卓系统吗 目前在官网论坛上只发现有安卓系统出现过这种情况哦 卸掉app重新安装试试
现在又出现一个更严重的问题,我主密码忘了~~~
主密码忘了那就一切重头开始吧 或者找找看之前有没有做过备份记录
我密码习惯固定不变的,总共两种,有的需要大小写和特殊符号,有的需要小写,都共用这两种
因人而异吧这个 但出于安全性考虑 建议还是不要用相同或者相似结构的密码 不然一旦原始结构的密码泄露了 其他密码别人也很容易猜出来 但总归一句话 还是得看情况 因人而异