gpg-agent misteriosamente parou de funcionar - agente no sistema remoto não está mais conectando ao soquete ssh [fechado]

1

Estou usando um yubikey nano no meu sistema local para criptografar / descriptografar / entrar em sistemas remotos, além de encaminhamento de agentes SSH. Lembro-me de ser um urso para configurar, mas tem funcionado perfeitamente há vários meses. De repente, quebrou. Todas as minhas pesquisas retornam os mesmos links que eu li quando o configurei, mas estou preso.

O encaminhamento de agentes SSH funciona inexplicavelmente. Sistema remoto mostra isso:

REMOTE:$ ssh-add -L
ssh-rsa blahblah cardno:123

Eu posso logar em outros servidores usando o SSH do sistema remoto e ele usa o nano para auth (eu sei disso porque requer toque para habilitar a assinatura do agente). Eu posso ver os logs sobre a assinatura SSH no log do agente gpg no sistema local.

No entanto, não consigo fazer com que o sinal / criptografia de GPG funcione. Se eu executar o seguinte no sistema remoto:

REMOTE:$ echo "$(uname -a)" |  gpg2 --armor --clearsign --default-key 0x1234
gpg: all values passed to '--default-key' ignored
gpg: no default secret key: No secret key
gpg: [stdin]: clearsign failed: No secret key

No log local do gpg-agent, não vejo registros sobre a tentativa. Se eu executar este comando, posso ver as entradas de log no log local do agente-gpg:

REMOTE:$ $ netcat  -U /home/user/.gnupg/S.gpg-agent
OK Pleased to meet you
RESET
OK
GETINFO PID
ERR 67109115 Forbidden <GPG Agent>
POOP
ERR 67109139 Unknown IPC command <GPG Agent>

O que resulta nesses registros no agente local:

2018-01-05 16:38:32 gpg-agent[865] DBG: chan_10 -> OK Pleased to meet you
2018-01-05 16:38:35 gpg-agent[865] DBG: chan_10 <- RESET
2018-01-05 16:38:35 gpg-agent[865] DBG: chan_10 -> OK
2018-01-05 16:38:45 gpg-agent[865] DBG: chan_10 <- GETINFO PID
2018-01-05 16:38:45 gpg-agent[865] DBG: chan_10 -> ERR 67109115 Forbidden <GPG Agent>
2018-01-05 16:39:01 gpg-agent[865] DBG: chan_10 <- POOP
2018-01-05 16:39:01 gpg-agent[865] DBG: chan_10 -> ERR 67109139 Unknown IPC command <GPG Agent>

Se eu executar o strace -f -F no gpg-connect-agent no sistema remoto, parece estar se conectando a um socket em / var / run, mas não aquele enviado do sistema local em ~ / .gnupg /. Eu tentei remover ambos os sockets, matando todos os processos do gpg-agent e mudei o forward remoto do SSH para ir para a localização / var / run ou o local ~ / .gnupg sem sucesso. É possível que eu estraguei esses passos e vou tentar de novo, mas eu quero saber se alguém sabe a resposta, e eu gostaria de ter um post fácil de encontrar para a próxima vez que isso acontecer.

SISTEMA LOCAL:

Mac OS X 10.11.6
gpg installed with brew
gpg (GnuPG) 2.2.1
libgcrypt 1.8.1

SISTEMA REMOTO:

ubuntu 17.10
gpg (GnuPG) 2.1.15
libgcrypt 1.7.8

EDITAR: Ok, não faço ideia do que mudou, mas deixei de lado um pouco e voltei e tentei trocar o soquete novamente e agora funciona:

REMOTE:$ $ echo "$(uname -a)" |  strace -f -F gpg2 --armor --clearsign --default-key 0x1234
...
a bunch of garbage
...
stat("/run/user/1000/gnupg/S.gpg-agent", {st_mode=S_IFSOCK|0600, st_size=0, ...}) = 0
socket(AF_UNIX, SOCK_STREAM, 0)         = 5

Alterar meu encaminhamento remoto do SSH para esse novo local funcionou. Eu juro que tentei isso anteriormente usando o caminho do soquete fornecido pelo gpgconf --list-dir agent-ssh-socket, sem qualquer sorte. Provavelmente se esqueceu de matar o agente existente. E, por acaso, acabei de encontrar uma reportagem no blog que isso mudou: link

    
por lopass 05.01.2018 / 23:51

0 respostas