「pass」パスワードマネージャからパスワードをエクスポートする


9

私は1年ほどpass パスワードマネージャを使用していますが、それはすばらしいことですが、他のパスワードマネージャをテストしたい場合は、パスワードを戻す必要があります。

これまでは、必要に応じて手動で追加してきましたが、別のパスワードマネージャーに移行する場合は、スクリプトが必要です。 100(それ以上ではない場合)。

出来ますか?すでに解決策はありますか?

過去数か月間、解決策をオンとオフで検索してきましたが、「このスクリプトを実行してブームをエクスポートするだけ」の解決策を見つけることができませんでした。

そのようなスクリプトはありますか?そうでない場合、何をどこで作成すればよいですか?


@jostenええ、私はそれがすべてのファイルを通過し、パスワードを取得してそれをどこかに保存するものがあると考えています。それはそれを行う1つの方法です。しかし、方法がわからない...
greduan 2014年

回答:


10

これは、gpg-agentを実行している場合(およびパスフレーズがロードされている場合)、パスワードストア内のファイルをループして別のファイルに書き込むことで実行できます。

サブディレクトリ内の各ファイルからパス($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

それは確かに非常に単純で、私が考えていたとおりです。:)ほんとにすばやく、どのように各ファイルのコンテンツの前にファイル名を追加し、次に各ファイルの間に2行(分離のため)を追加しますか?私はシェルスクリプトに精通していません。
greduan 2014年

ところで私が欲しいのは、一部のパスワード(つまり、LastPassからインポートされなかったもの)には、パスワード自体以外にそれらに関する情報がないためです。そのため、パスワードが何であるかがわからない場合は、そのパスワードを知りません。
グレドゥアン2014年

@Greduan更新して、要求した形式で印刷します。
jasonwryan 2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.