I have a Debian buster system where I am logged in to the local GUI and also logged in over ssh. I need to sign something with gnupg over ssh.

Unfortunately I get no prompt for a passphrase on my ssh session, I suspect the prompt is being shown graphically in the GUI, but since I'm not in front of the machine right now I can't check.

In the past I have achived this through killing the gpg agent and starting one manually, but that doesn't seem to work anymore. The agent tells me it is already running. From some searching it seems that a systemd user service may be responsible for this.

1 Answer 1


I was able to work around this issue by creating a symlink to my gnupg home directory with.

ln -s .gnupg .gnupg_

I was then able to start a gpg agent manually in the symlinked gnupg home with

GNUPGHOME=$HOME/.gnupg_ gpg-agent --pinentry-program /usr/bin/pinentry-curses --daemon bash

And within that session I was able to use gpg commands and succesfully get a passphrase prompt.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.