gpg-agent can be used instead of ssh-agent to authenticate against an SSH server, but in order to do so the GPG_TTY and TERM environment variables need to be passed through. For obvious reasons, we avoid doing that when no_tty=1 is found in the connection URI. https://bugs.debian.org/843863 https://gitlab.com/libvirt/libvirt/-/merge_requests/290 Thanks: Guilhem Moulin <guilhem@xxxxxxxxxxx> Thanks: Kunwu Chan <chentao@xxxxxxxxxx> Signed-off-by: Andrea Bolognani <abologna@xxxxxxxxxx> --- src/rpc/virnetsocket.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/rpc/virnetsocket.c b/src/rpc/virnetsocket.c index b58f7a6b8f..151077c2dd 100644 --- a/src/rpc/virnetsocket.c +++ b/src/rpc/virnetsocket.c @@ -843,6 +843,11 @@ int virNetSocketNewConnectSSH(const char *nodename, virCommandAddEnvPass(cmd, "OPENSSL_CONF"); virCommandAddEnvPass(cmd, "DISPLAY"); virCommandAddEnvPass(cmd, "XAUTHORITY"); + if (!noTTY) { + /* Needed for gpg-agent's curses-based authentication prompt */ + virCommandAddEnvPass(cmd, "GPG_TTY"); + virCommandAddEnvPass(cmd, "TERM"); + } virCommandClearCaps(cmd); if (service) -- 2.41.0 _______________________________________________ Devel mailing list -- devel@xxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx