GnuPGとそのデーモンgpg-agentの使用


9

パッケージをビルドするときgpg-agentGnuPGパスワードを覚えて入力するために使用していDebian/Ubuntuます。しかし、私はまだどのようにgpg-agent機能するのか混乱しています。私は次のように呼び出しgpg-agentます:

eval $(gpg-agent --daemon)

それは時々動作します。しかし、私が気になるのは、それが時々機能しないことです。つまり、構築プロセスで私のGnuPGパスワードが1回要求される場合もあれば、まったく要求されない場合もあれば、何度も要求される場合もあります。これはすべてgpg-agent、以前のように呼び出した後、1つのbashセッション中に発生します。今回パスワードを求められなくても、次回パスワードを求められないという保証はありません。なぜgpg私がパスワードを要求することを決定するのか、なぜそうしないのかはまだわかりません。

あなたにも起こりますか?

ありがとう


1
どのような状況で失敗し、どのような状況で成功するかを突き止めるには、ある程度の時間を費やす必要があります。失敗と確実に相関しているものを説明できれば、他の誰かが解決策を考える可能性が高くなります。
bignose 2013

Emacsでは、GNUSのためにと.authinfo.gpg、私は使用へのヒントだgpg2gpg-agentと関連しているが。だから(setq epg-gpg-program "/usr/bin/gpg2")私のために働いた。おそらく、どのアプリケーションに問題があるのか​​を発見する必要があるでしょう、彼らは好むかもしれませんgpg(1)。
ブレイディトレーナー2014

回答:


7

適切に使用する方法が見つかりgpg-agentから http://tr.opensuse.org/SDB:Using_gpg-agent

その後、私のgpg-agentデーモンは私のGnuPGパスワードを適切にキャッシュしています。GnuPGパスワードが適切にキャッシュされているかどうかをテストする方法がわからなかっただけで、セットアップに問題はありませんでした。

今私がやります:

echo "test" | gpg -ase -r 0xMYKEYID | gpg

サイトから:「0xMYKEYIDをGnuPGキーIDに置き換えます。このコマンドを実行している間、エージェントはグラフィカルパスワードダイアログを2回開く必要があります。最初に署名または暗号化(gpg -ase)(gpg -ase)、次に復号化または署名チェック( | gpg)。これ以降、GnuPGが使用されるたびに(コマンドラインから、またはKMailなどのグラフィカルプログラムに埋め込まれて)、gpg-agentのパスワードは自動的に渡されます(タイムアウトになるか、グラフィカルインターフェイスが有効になるまで)閉まっている)。"

キャッシュの有効期限を回避するために、非常に長いタイムアウト期間を設定しました。

$ cat ~/.gnupg/gpg-agent.conf
max-cache-ttl 60480000
default-cache-ttl 60480000

linux.die.net/man/1/gpg-agentによると、--write-env-file "${HOME}/.gpg-agent-info"gpg-agentの起動時に追加if [ -f "${HOME}/.gpg-agent-info" ]; then . "${HOME}/.gpg-agent-info"; export GPG_AGENT_INFO fi し、.bashrcに追加 して、エージェントがすでに実行されているかどうかを検出することもできます。少しすっきりしたソリューションのようです。
Sean the Bean

@SeantheBean、すばらしい。私はそれをテストしてあなたに返します...
xpt '28

WARNING: "--write-env-file" is an obsolete option - it has no effect少なくともApr 4 '16。参考:serverfault.com/a/481174
XPT
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.