从“pass”密码管理器导出密码

从“pass”密码管理器导出密码

我一直在使用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

相关内容