Bug 1030522 - using gpg starts gpg-agent, but GPG_TTY not set -> unable to type passphrase on an ssh connection
Summary: using gpg starts gpg-agent, but GPG_TTY not set -> unable to type passphrase ...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: gnupg2
Version: 7.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Tomas Mraz
QA Contact: BaseOS QE Security Team
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-11-14 15:48 UTC by Paolo Bonzini
Modified: 2014-01-13 15:47 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-01-13 15:47:34 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Paolo Bonzini 2013-11-14 15:48:05 UTC
Description of problem:
gpg 

Version-Release number of selected component (if applicable):
gnupg2-2.0.22-1.el7.x86_64
pinentry-0.8.1-10.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Log in to a RHEL7 machine via ssh
2. echo abc | gpg -bsau 'Paolo Bonzini <pbonzini>'

Actual results:
You need a passphrase to unlock the secret key for
user: "Paolo Bonzini <pbonzini>"
4096-bit RSA key, ID 9B4D86F2, created 2013-03-07

gpg: problem with the agent: No pinentry
gpg: skipped "Paolo Bonzini <pbonzini>": Operation cancelled
gpg: signing failed: Operation cancelled

Expected results:
pinentry-curses comes up and asks for a passphrase

Additional info:
Doing "export GPG_TTY=`tty`" from the command line makes it work.

Comment 2 Gabriel Somlo 2014-01-05 17:48:18 UTC
I noticed the same behavior on Fedora 20 while attempting to decrypt something for the first time using

cat foo | gpg -d

Using

gpg -d foo

instead works fine; subsequent attempts to decrypt work using either syntax, once the agent is running and has the passphrase.

Also, Paolo's workaround (setting GPG_TTY) helps, thanks for that !

Comment 3 Tomas Mraz 2014-01-13 15:47:34 UTC
Well this is expected and setting the GPG_TTY is what you should do if you need to redirect gpg input.


Note You need to log in before you can comment on or make changes to this bug.