Situation is Debian systemd socket activation, and login to terminal (not using Desktop Graphical environment) and use gpg-agent as ssh-agent.
In the socket activation configuration, a user requires UPDATESTARTUPTTY to let gpg-agent knows about his TTY.
(This should be well explained in a document.)
- If it doesn't have GPG_TTY, pinentry will hang (this should be detected?)
Once pinentry hangs, gpg-agent remains there, and next requests keep hanging
After login, a user needs to do:
gpg-connect-agent UPDATESTARTUPTTY /bye