GPG in headless system
While configuring GPG for backup with duplicity on a headless system I had any kind of issue with
gpg-agent and pass phrases. This happened on a Centos 6 host.
It turns out that GPG needs to use a tty. This means that you cannot su
su - in the user that needs its keys, but you have to directly login as the user, physically or through ssh.
Then, you can follow the man pages' advice:
eval $(gpg-agent --daemon) GPG_TTY=$(tty) export GPG_TTY
And now you can generate your keys.