pinentry does not work for both desktop login and SSH login
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
pinentry (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
I'm working on a Ubuntu 18.04.3 LTS x86_64 machine (fully patched). The machine has a GNOME3 desktop. Sometimes I sit at the workstation, and other times I SSH into the workstation.
When sitting at the workstation Git commit signing works. I use 'git commit -S ... -m ...', and things work as expected. I get a UI prompt for my GnuPG password and the work flows as usual.
When I work remotely on the same workstation over SSH I have to forgo commit signing because:
$ git commit -S log.h -m "Remove unneeded header"
error: gpg failed to sign the data
fatal: failed to write commit object
I'm using a "standard" configuration for SSH, Git and GnuPG. I am not aware of any special configurations for this setup. However, the repo is located on my local LAN (and not GitHub, GitLab, etc):
$ cat .git/config
[core]
filemode = true
bare = false
[remote "origin"]
url = ssh://git@
fetch = +refs/heads/
[branch "master"]
remote = origin
merge = refs/heads/master
There is no specialized GnuPG conf file in $HOME/.gnupg:
$ ls -A ~/.gnupg/
3F537D88ADBC
private-
Here is pinentry on the machine:
$ ls -Al /usr/bin/pinentry-*
-rwxr-xr-x 1 root root 63992 Feb 5 2018 /usr/bin/
-rwxr-xr-x 1 root root 72184 Feb 5 2018 /usr/bin/
lrwxrwxrwx 1 root root 30 Sep 2 19:14 /usr/bin/
And then:
$ ls -Al /etc/alternativ
lrwxrwxrwx 1 root root 24 Sep 2 19:14 /etc/alternativ
lrwxrwxrwx 1 root root 40 Sep 2 19:14 /etc/alternativ
My .bashrc includes:
export GPG_TTY=$(tty)
Search is finding a lot about Git signing failures, but not results for this particular situation. I have to turn the problem over to the maintainers since I can't figure it out.
What users like me expect is, things just work regardless of how we are logged in.