ssh-add -D exclui chaves no host de origem

1

Eu tenho um agente ssh em execução no meu macbook. Eu uso ssh -A e carrego as chaves para a minha caixa de redhat.

O que me surpreende, porém, é que quando eu faço um 'ssh-add -D' na caixa de redhat, as chaves não apenas desaparecem localmente como também são removidas do meu macbook. Como isso funciona?

Parece que há algum tubo aberto até o fim.

    
por evolution 11.02.2015 / 22:01

1 resposta

5

ssh-add conecta-se ao agente em execução por meio de soquetes de domínio Unix. Variável de ambiente SSH_AUTH_SOCK mantém o caminho do soquete. O ssh-add verifica a variável e conecta-se ao agente que pode ser acessado através do soquete, não aquele executado localmente.

Quando você faz ssh em uma máquina com -o ForwardAgent = yes, a variável acima é configurada para apontar para um soquete que está conectado ao agente em execução no host de origem.

Se você deseja que ssh-add conecte-se ao agente em execução localmente, aponte a variável acima para o caminho do soquete que está sendo ouvido pelo agente local. você pode obter o soquete agnets local por sudo lsof -p $(pgrep ssh-agent) e procurar por um arquivo em / tmp do tipo socket.

    
por 11.02.2015 / 22:34

Tags