gpg-agentを実行せずに、パスフレーズを入力して署名します。
$ echo 123 | gpg -s
You need a passphrase to unlock the secret key for
user: "Mr. Ops <ops@bxxx.com>"
2048-bit RSA key, ID 20F31903, created 2014-03-13
gpg: gpg-agent is not available in this session
Enter passphrase:
正常に動作します。しかし、パスフレーズを常に入力したくないので、gpg-agentを実行します。
$ eval $(gpg-agent --daemon)
これで、パスフレーズの入力を少なくとも1回求められるはずですが、私はそうではなく、gpgを使用するすべての操作が失敗します。
$ echo 123 | gpg -s
You need a passphrase to unlock the secret key for
user: "Mr. Ops <ops@bxxxx.com>"
2048-bit RSA key, ID 20F31903, created 2014-03-13
gpg: cancelled by user
gpg: no default secret key: bad passphrase
gpg: signing failed: bad passphrase
パスフレーズをエージェントに保存するにはどうすればよいですか?そこに置いたら、ログインセッション間でどのように保持しますか?(理想的には、再びプロンプトを表示することはありません。)これは、Ubuntu 12.04.4で標準のapt-get gpgパッケージを使用して、問題が発生した場合に備えています。