Estou tentando consolidar meu software de criptografia no GnuPG e estou com um problema confuso.
Minha unidade principal é um servidor sem cabeçalho, e eu trabalho exclusivamente no tmux. Não há sessão X e, portanto, configurei o gpg-agent para usar curses de pinagem. Eu configurei o gpg-agent para ser chamado no login com a emulação do agente ssh com este script:
if pgrep -u "${USER}" gpg-agent >/dev/null 2>&1; then
eval 'cat $gnupginf'
eval 'cut -d= -f1 $gnupginf | xargs echo export'
else
eval 'gpg-agent -s --enable-ssh-support --daemon'
fi
Eu já adicionei minha chave ssh ao gpg-agent, no entanto, quando eu tento outra sessão ssh, o comando trava.
Descobri que, se eu matar o gpg-agent e criar um novo shell de login, o agente funcionará como deveria (chamando curses de pinentry e funcionando como ssh-agent).
Se, no entanto, eu criar outro shell de login (por exemplo, abrir outro painel do tmux) e tentar ssh, o comando trava e a janela de curses do pinentry é impressa sobre o conteúdo do shell de login que originalmente iniciou o agente.
Além disso, se eu tiver fechado o shell que originalmente lançou o agente, o xingamento de pinagem será chamado de qualquer maneira e causará um loop infinito cpu-crippling. (Bug conhecido, veja link .)
Em essência, eu gostaria de saber o que mudar em minha configuração para fazer o agente GnuPG funcionar tão bem quanto o ssh-agent. Obrigado por qualquer ajuda!