无状态密码管理器Heimdallr
什么是 Heimdallr ?
Heimdallr
是一个无状态的密码管理器/生成器。是否厌倦了不断记住网站或应用程序的密码?是否忘记将新帐户写入密码管理器或忘记将其与另一台设备同步?Heimdallr
解决了这些问题!您只需要记住一个主密码,就可以根据它获取其他网站的密码。
Heimdallr
和老苏现在正在使用的 Bitwarden/Vaultwarden
存在比较大的差异,首先是因为 Heimdallr
是没有数据库的
无状态密码管理器是一个有趣的技术想法,使用从主密码派生的密钥与网站名称进行散列来动态生成密码。要找回密码,您只需记住主密码和用于任何特定网站的确切名称即可
暂时老苏并没有打算换掉 Bitwarden
,但是多了解了解总是好的
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 heimdallr
,选择第三个 eluki/heimdallr-password-manager
,版本选择 latest
。
这个镜像目前只有
latest
,其他版本都是2
年前的;
端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
本地端口 | 容器端口 |
---|---|
30003 |
80 |
命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
1 | # 运行容器 |
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
1 | version: '3.8' |
然后执行下面的命令
1 | # 新建文件夹 kavita 和 子目录 |
运行
在浏览器中输入 http://群晖IP:30003
就能看到主界面
Service name
:这是必填的,是为其生成密码的服务名称,比如用github
来标识网站https://www.github.com
;Common name
:这是必填的,一般用账号或者密码ID
,比如用账号laosu
;Master password
:主密码,用于根据服务名称和公用名称以及使用的字典生成幂等密码;Include letters
:包含字母,默认启用;Include numbers
:包含数字,默认启用;Include symbols
:包含符号,默认启用;Password length
:密码长度;Version
:版本信息;
所以我们生成的第一版的密码是 410{SvE3ge=f7l{4
如果我们要给 github
生成新的密码,可以将 Version
设置为 2
,然后重新 generate
,这时候密码会生成新密码 3SXNg^n2XS)GRs%9
只要以上参数都不变的情况下,每次生成的密码是绝对一致的,但只要有一个参数变化,就像我们举例中的 Version
从 1
变为 2
,密码就会有变化,这解决了无状态密码管理器刚出来的时候存在的问题,比如:
- 对于同一个网站,如果您想为单个网站保存多个密码,则必须在网站名称中包含用户名;
- 许多网站仍然需要定期更改密码,这使得用户不仅要记住网站名称,还要记住密码迭代;
这些问题的的解决,有效提高了 Heimdallr
的实用性
参考文档
AMEST/Heimdallr: Heimdall is a stateless password manager / generator.
地址:https://github.com/AMEST/HeimdallrStateless Password Manager Usability – kichik’s blog
地址:https://kichik.com/2020/06/19/stateless-password-manager-usability/