我一直在使用pass
密码管理器大约一年了,这很棒,但有时我喜欢测试其他密码管理器,然后我需要找回我的密码。
到目前为止,我只是根据需要手动添加它们,但是如果我想迁移到另一个密码管理器,我需要一个脚本,因为考虑到我已经接近了,我没有耐心一个一个地完成它一百(如果不是更多的话)。
是否可以?已经有解决方案了吗?
在过去的几个月里,我断断续续地寻找一种解决方案,但未能找到“只需运行此脚本并导出”的解决方案。
有这样的脚本吗?如果没有,我应该研究什么或在哪里制作一个?
答案1
如果你正在跑步,你可以这样做gpg-代理(并且您的密码已加载),方法是循环访问密码存储中的文件并将它们写入单独的文件。
您确实必须从路径 ( $PASSWORD_STORE_DIR
) 中删除前导目录,并.gpg
从子目录中的每个文件中删除扩展名,但除此之外它就足够简单了:
#!/usr/bin/env bash
# export passwords to external file
shopt -s nullglob globstar
prefix=${PASSWORD_STORE_DIR:-$HOME/.password-store}
for file in "$prefix"/**/*.gpg; do
file="${file/$prefix//}"
printf "%s\n" "Name: ${file%.*}" >> exported_passes
pass "${file%.*}" >> exported_passes
printf "\n\n" >> exported_passes
done