30 秒使用 Sealos 搭建个人密码管理器 Vaultwarden
我与 LastPass 的曲折恋情
超过 8 年网龄的我,注册过很多网站帐号,每个网站的密码我都用不同的复杂密码。一开始我全靠脑力记忆这些密码,后来渐渐觉得记起来很困难,就记录在笔记本上。但是随着时间推移,我发现这种方法既不安全也不可靠。
有一次出差在外,一个人待在酒店里想登录某考研网站复习英语,却想不起来密码是啥,笔记本也没带在身上,急得像热锅上的蚂蚁。
后来绕了很多弯路才重置了密码,但整个过程让我无比痛苦,又特么耽误我学英语!
果然记在笔记本上也不能解决所有问题,可靠度太低了,而且还存在安全隐患。是时候使用专业的密码管理软件了!
说到密码管理器,大家是不是想起了 LastPass… 我一开始用的确实是 LastPass,但是 LastPass 的价格策略频繁调整,从一开始的免费,到后来逐渐收费,让我开始对其提高警惕。而且,尽管它的安全记录相对来说比较良好,但经历过数次的漏洞曝出,让我对于其中的数据安全产生了疑虑。最让我失望的是,随着其越来越多的商业化操作,一些原本免费的功能也被限制或转移到了付费版本。

Bitwarden:密码管理革命者
一次偶然的机会,Bitwarden 闯入了我的视线。作为新一代开源的跨平台密码管理器,Bitwarden 的透明度让我对数据安全有了更大的信心。它使用 AES-256 位加密和 PBKDF2 SHA-256 来保证所有信息的安全,并且拥有丰富的客户端支持,包括 Windows、Mac、Linux、iOS、Android 等多个平台。

与 LastPass 相比,Bitwarden 具有以下优势:
- 代码开源,经过全球开发者验证更安全可靠。
- 提供免费版本无限使用基础功能。
- 使用端到端加密,只有用户自己才拥有解密密钥。
- 支持无限存储密码条目。
- 允许用户导入和导出密码数据。
- 提供优秀的自动填充服务,并且可以利用系统的生物识别(指纹、人脸等)进行认证。
- 支持文件加密分享,方便地通过 bitwarden send 分享隐私文件、照片等。
- 除了密码之外,还可以存储文件/文本/银行卡/个人信息。
最吸引我的是,Bitwarden 还可以私有化部署,这样可以确保数据完全掌握在自己手中,不必担心官方跑路。不过 Bitwarden 官方服务对服务器需要的资源有点多,内存必须大于 2G,小内存机器是根本跑不起来的,一般推荐使用第三方开发的 Vaultwarden。
Vaultwarden:短小精悍
Vaultwarden 是 Bitwarden 的轻量级版本,原名 bitwarden_rs,后来为了与“大哥” Bitwarden 区分开来,遂改名为 Vaultwarden。
Logo 完美结合了 Rust 和 Vaultwarden:

Vaultwarden 使用 Rust 编写,默认使用 SQLite 数据库(同时还支持 MySQL 和 PostgreSQL),实现了 Bitwarden API 的所有功能,只需要 10M 内存便可运行,几乎可以跑在任何硬件之上。
不用想了,无脑使用 Vaultwarden 吧。
虽然 Vaultwarden 提供了 Docker 镜像,可以无脑梭哈,但是你还得提供一个公网出口,这就需要用到 Nginx 之类的反向代理。同时你还得准备一个域名,以及相应的证书,并且要做好自动续签的工作。这对小白来说还是有点复杂了。
不过有了 Sealos 一键部署模板,这个问题就比较简单了,动动鼠标就行了,30 秒即可解决战斗。
一键部署 Vaultwarden
首先通过以下链接打开 Vaultwarden 的应用模板:
啥都不用填,直接点击「部署应用」:

部署完成后,点击确认跳转到应用详情页面,可以看到应用已经启动成功了。点击外网地址即可直接打开 Vaultwarden 的 Web 界面:

创建你的密码管理账户:

创建完成后开始登录:

完结撒花!
客户端使用自定义服务器非常简单,以 macOS 客户端为例,登录时选择「自托管」:

然后在弹出的界面中输入 Vaultwarden 的地址,并点击保存:

然后输入邮箱和密码进行登录。
修改配置
Vaultwarden 可以通过环境变量来自定义各种配置,它的所有环境变量都在这个文件中:
感兴趣的可以自己研究。
Sealos 添加环境变量非常简单,在应用详情页面直接点击「变更」:

然后展开「高级配置」,点击「编辑环境变量」:

然后就可以在其中添加环境变量了。
例如,我想设置 Vaultwarden 管理后台密码,就可以加入以下环境变量:
ADMIN_TOKEN='xxxxx'

添加完成之后,点击「确认」,再点击右上角的「变更」就可以了。
在你的域名后面加上 /admin,登录 Vaultwarden 管理后台,登陆密码为刚刚设置的 ADMIN_TOKEN:

在这里可以根据情况对 Vaultwarden 进行一些可选设置,所有的设置项都可以通过鼠标悬停查看相应的说明,不了解的选项建议保持默认。
这里介绍几个我认为值得关注的设置项:
- General Settings
- Domain URL:设置你的网站域名,记得带上 https,如
https://your.domain。 - Allow new signups:是否允许用户注册,如果密码库仅仅用于自用,建议在自己注册后关闭此选项。
- Admin page token:在这里更改 Vaultwarden 管理后台的密码。
- Invitation organization name:设置你的网站名字,将出现在自动发送的电子邮件中。
- Domain URL:设置你的网站域名,记得带上 https,如
- SMTP Email Settings
- 设置 SMTP 服务,用来发送系统邮件(建议开启)。
- 根据你的 SMTP 服务提供方填写相关信息即可。
- 设置保存后,运行一次 Test SMTP 确保邮件可以正常发送。
- Read-Only Config:这里可以查看所有只读选项。
- Backup Database:这里提供了一个简易的数据库备份功能。
费用评估
现在我们来评估一下在 Sealos 上运行 Vaultwarden 大概需要多少钱。点击「变更」:

模板默认使用的 CPU 是 0.2C,内存是 256M,不过 Vaultwarden 只需要 10M 就能跑起来,个人使用完全不需要这么多内存,咱们直接把 CPU 和内存调到最低:

最后点击「变更」。
这下舒服了,每天只需要花费两毛六分钱。再加上 Sealos 超给力的充值优惠,折算下来每天只需要花费一毛多一点。

而且不需要操心什么反向代理,什么域名,什么证书,就是一把梭,优雅。
参考资料
30 秒使用 Sealos 搭建个人密码管理器 Vaultwarden的更多相关文章
- 用firefox 31配合KeePass密码管理器实现web帐号密码自动填写登录
原文:http://bbs.kafan.cn/thread-1754676-1-1.html KeePass的优势:1.这是一款完全开源的密码管理器2.很多人都使用lastpass来保存密码,而这种严 ...
- Keeweb-Linux的密码管理器
Keeweb-Linux的密码管理器 如今,我们依赖于越来越多的线上服务.我们每注册一个线上服务,就要设置一个密码:如此,我们就不得不记住数以百计的密码.这样对于每个人来说,都很容易忘记密码.那么,下 ...
- 跨平台开源密码管理器 KeePassXC
简介 KeePassXC 是一个开源的跨平台密码管理器.基于 KeePass 二次开发. KeePassXC 可以安全地在本地存储您的密码,配合浏览器插件KeePassXC-Browser可辅助登录. ...
- #Python #密码管理器 无需再记住密码,使用Python实现个人密码管理器
本文在CSDN"彭_Yu的博客"同步发表 目录 1.要点 2.运行原理 3.异或算法简介 4.运行效果 5.实现过程 5.1文件结构 5.2建立数据库 5.3 Python代码 ...
- 教你30秒解开手机的密码 适用于高通CPU
教程简介 先将手机进入9008模式.进入方法请自己百度. 进入9008方法如下: 先将手机关机,然后按住音量加和音量减不松手. 使用教程: 将数据线拆入电脑.会出现一个端口 出现端口后可以松开 ...
- Linux瑞士军刀:密码管理Keeweb
导读 如今,我们依赖于越来越多的线上服务.我们每注册一个线上服务,就要设置一个密码:如此,我们就不得不记住数以百计的密码.这样对于每个人来说,都很容易忘记密码.我将在本文中介绍 Keeweb,它是一款 ...
- Lastpass——密码管理工具
Lastpass是一个优秀的在线密码管理器和页面过滤器,采用了强大的加密算法,自动登录/云同步/跨平台/支持多款浏览器. 我之前一直都在使用这个工具,不过都是在浏览器上以扩展的方式使用,在火狐浏览器上 ...
- lastpass密码管理工具使用教程
现在移动互联网发展异常空气,无论访问哪个平台或者网站必须要注册账号,日子久了就会发现最痛苦的就是记住这些网站的密码.因为我们不可能将所有的网站都是设置同样的的账号密码,因为国内网站用户数据库被泄露的事 ...
- Jmeter中主要管理器功用
不管是在使用jmeter进行性能测试还是接口自动化测试时经常用到各种管理器进行对参数的处理,但是有时候分不清几种管理器的具体用法,所以做个笔记,列一下吧(所列内容基于版本为3.2) 主要内容包含以下: ...
- QML-密码管理器
Intro 年初刚学Qml时写的密码管理器.用到Socket通信.AES加密等.UI采用Material Design,并实现了Android App的一些常见基本功能,如下拉刷新.弹出提示.再按一次 ...
随机推荐
- 2023-12-09:用go语言,给你两个整数数组 arr1 和 arr2, 返回使 arr1 严格递增所需要的最小「操作」数(可能为 0)。 每一步「操作」中,你可以分别从 arr1 和 arr2
2023-12-09:用go语言,给你两个整数数组 arr1 和 arr2, 返回使 arr1 严格递增所需要的最小「操作」数(可能为 0). 每一步「操作」中,你可以分别从 arr1 和 arr2 ...
- [ARC145D] Non Arithmetic Progression Set
Problem Statement Construct a set $S$ of integers satisfying all of the conditions below. It can be ...
- C++ Qt 开发:ListWidget列表框组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍ListWid ...
- EF Core助力信创国产数据库
前言 国产数据库作为国产化替代的重要环节,在我国信创产业政策的指引下实现加速发展,我们国产数据库已进入百花齐放的快速发展期,相信接触到涉及到政府类等项目的童鞋尤为了解,与此同时我们有一部分也在使用各种 ...
- Windows上安装jenkins
官网下载jenkins https://www.jenkins.io/zh/download/ 选择Windows版本下载,安装 注意,需要java11,17或21才能安装 java下载地址 htt ...
- 从零玩转Websocket实时通讯服务之前后端分离版本-websocket
title: 从零玩转Websocket实时通讯服务之前后端分离版本 date: 2021-10-25 00:47:12.945 updated: 2021-12-26 17:43:10.496 ur ...
- LeetCode1两数之和、15三数之和
1. 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组中同一个元素 ...
- Java 获取Excel中的表单控件
Excel中可通过[开发工具]菜单栏下插入表单控件,如文本框.单选按钮.复选框.组合框等等,插入后的控件可执行设置控件格式,如大小.是否锁定.位置.可选文字.数据源区域.单元格链接等.当Excel中已 ...
- 秋风到,ModelArts“ AI市场算法Fast-SCNN指南”秋膘贴起来
本文分享自华为云社区<带你来秋日尝鲜 | ModelArts AI市场算法Fast-SCNN使用指导>,作者:Tianyi_Li 摘要:送小伙伴们一份新鲜出炉的ModelArts AI市场 ...
- 教你如何在Python中读,写和解析CSV文
摘要:在这篇文章中关于"在Python如何阅读CSV文件"中,我们将学习如何读,写和解析的CSV文件的Python. 您知道将表格数据存储到纯文本文件背后的机制是什么吗?答案是CS ...