当前位置: 首页 > ops >正文

轻量安全的密码管理工具Vaultwarden

一、Vaultwarden概述

Vaultwarden主要作用是提供一个自托管的密码管理器服务。它是Bitwarden密码管理器的第三方轻量版,由国外开发者在Bitwarden的基础上,采用Rust语言重写而成。

(一)Vaultwarden镜像的作用及特点

  1. 轻量级与高性能: Vaultwarden相对于Bitwarden官方版本,具有更轻量的代码和更高的性能表现,这使得它更适合在资源受限的环境中部署,如NAS设备或小型服务器。
  2. 自托管友好: Vaultwarden镜像可以方便地部署在任何支持Docker的服务器上,用户可以根据自己的需求进行自定义配置,并享受自托管带来的安全性和隐私保护。
  3. 开源免费: Vaultwarden是开源的,用户可以免费使用其服务,无需支付任何费用。由于它寄托于第三方,所以不受Bitwarden官方商业策略的限制。
  4. 与Bitwarden兼容: Vaultwarden与Bitwarden客户端完全兼容,用户可以无缝地使用Bitwarden的客户端(如桌面应用、浏览器扩展、移动应用等)来访问Vaultwarden服务,无需担心兼容性问题。

(二)项目地址

https://github.com/dani-garcia/vaultwarden

二、Vaultwarden部署步骤

1、创建SSL证书和数据存放目录

2、拉取镜像

docker pull vaultwarden/server

3、更改自定义端口和指定SSL与数据存放目录(私钥和公钥名称可自定义)

docker run -d --name vaultwarden \-e ROCKET_TLS='{certs="/ssl/public.pem",key="/ssl/private.key"}' \-v /vol2/1000/Docker_Data/vaultwarden/ssl/keys/:/ssl/ \-v //vol2/1000/Docker_Data/vaultwarden/data/:/data/ \-p 9443:80 \vaultwarden/server:latest

4、随后浏览器输入https://xxx:9443后可创建个人账户,密码,浏览器安装Bitwarden扩展,手机也安装Bitwarden,使用自托管的服务器即可

5、如果需要配置邮箱验证登录,那么首先需要进行vaultwarden相关的邮箱设置

使用以下命令生成一个token

openssl rand -base64 48

将生成的token在docker容器的环境变量中添加

-e ADMIN_TOKEN=xxxxxxxxxxxxxxxx

启动容器后,在浏览器输入https://域名:端口/admin即可进入管理面板,填入刚才生成的Token后进入,进行如下配置

随后在常规设置中设置用户连接Vaultwarden的域名与端口

这里配置的时候需要注意一下:QQ邮箱使用的SSL端口为465,需要将安全SMTP一项内填入force_tls才可,否则不会使用465端口进行连接。将配置保存后,输入一个邮箱进行测试,收到如下邮件即为配置成功;

随后在邮件2FA设置中开启邮件认证后保存配置即可

配置完成后,建议将该容器的ADMIN_TOKEN环境变量移除,且将config.json文件内关于admin_token的配置删除,保证安全!

随后,用户进入个人设置内即可配置登录时的邮箱验证!

此外,Bitwarden的APP还支持面容和指纹解锁,和收取待登录设备信息并允许或拒绝登录等

扩展

-e SIGNUPS_ALLOWED=false 		# 关闭注册
-e INVITATIONS_ALLOWED=false 	# 禁止邀请用户
-e SHOW_PASSWORD_HINT=false 	# 关闭密码提示

http://www.xdnf.cn/news/13045.html

相关文章:

  • 学习记录之nestjs---基本认识
  • 【2D与3D SLAM中的扫描匹配算法全面解析】
  • 项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
  • Excel表格数据导入数据库
  • 使用DataX同步MySQL数据
  • 【免费赠书5本】《DeepSeek大模型高性能核心技术与多模态融合开发》
  • 【版本控制】GitHub Desktop 入门教程与开源协作全流程解析
  • S5P6818_驱动篇(26)网络驱动
  • Python 如何在Python 3.6上安装PIP
  • JAVA后端开发——多租户
  • Python importlib 动态加载
  • SCRM客户关系管理软件的内容管理功能深度解析
  • modelscope下载gguf格式模型
  • 快速排序算法改进:随机快排-荷兰国旗划分详解
  • 【PostgreSQL系列】PostgreSQL连接参数
  • 深入理解 S3 标签字符清洗的正则表达式实践
  • Python Day47
  • DAY 19 常见的特征筛选算法
  • 如何实现本地快速识别相似图像
  • [尚庭公寓]01-项目概述
  • 容器-使用slim减少10x+大模型镜像
  • 信息系统分析与设计复习
  • Qt项目中使用 CmdManager 实现高效的命令分发机制
  • 国际上与麦角硫因相关的人体功效试验文献分享
  • 使用homeassistant 插件将tasmota 接入到米家
  • mysql8.0忘记root密码情况下修改密码
  • VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
  • 十一、MySQL 事务底层与高可用原理
  • 基于PSO与BP神经网络回归模型的特征选择实战(Python实现)
  • MySQL--慢查询日志、日志分析工具mysqldumpslow