the ssh-add program that interfaces with gpg-agent's ssh-agent implementation has
an option to set a key to "always confirm", that is, every time a key is used, the
ssh agent should ask the user for confirmation (not for the passphrase again).
this option is not respected by gpg-agent, as can be seen for example from the
description of the file format of .gnupg/sshcontrol.
i suggest that gpg-agent respect that option, add a flag to the sshcontrol format
(there is already a '!' prefix, maybe add '?'to indicate the confirm constraint?)
and call pinentry in an appropriate fashion.
the pinentry thing is especially important -- the ssh-agent implementations ssh-
askpass-gnome and ssh-askpass-fullscreen present a pin entry dialog which needs to
be confirmed without actually entering text, creating quite some confusion. i
suppose this is related to the way ssh-askpass is called (it doesn't take
arguments). pinentry could excel here because the CONFIRM command is already
implemented in the clients.
from looking at the source code, i see that SSH_OPT_CONSTRAIN_CONFIRM is already
evaluated, but stored in a confirm variable which is later unused. there's a FIXME
"are constraints used correctly?" -- does this make the bug "already known"? (i
dare to file it anyway.)