Por que “ssh-agent && ssh-add” funciona apenas uma vez?

0

Dê uma olhada na seguinte sessão de shell:

niklas@llw ~ % ssh-agent && ssh-add
SSH_AUTH_SOCK=/tmp/ssh-ZzWYJAmK8809/agent.8809; export SSH_AUTH_SOCK;
SSH_AGENT_PID=8810; export SSH_AGENT_PID;
echo Agent pid 8810;
Enter passphrase for /home/niklas/.ssh/id_rsa: 
Identity added: /home/niklas/.ssh/id_rsa (/home/niklas/.ssh/id_rsa)

niklas@llw ~ % killall ssh-agent

niklas@llw ~ % ssh-agent && ssh-add
SSH_AUTH_SOCK=/tmp/ssh-TNMkMvgP8880/agent.8880; export SSH_AUTH_SOCK;
SSH_AGENT_PID=8881; export SSH_AGENT_PID;
echo Agent pid 8881;
Could not open a connection to your authentication agent.

Por que posso executar ssh-agent && ssh-add apenas uma vez?

    
por nh2 12.02.2013 / 21:41

1 resposta

1
Primeiro, sugiro que você verifique e verifique se você já não tem um agente em execução. Eu suspeito que você já tinha um agente em execução. Então você começou um segundo, sem atualizar corretamente o ambiente. Seu ssh-add se comunicou com o agente original. Então você matou todos os agentes e tentou iniciar um novo sem atualizar corretamente o ambiente, o seguinte ssh-add não pôde contatar o agente original, que você havia matado.

Em seguida, você precisa entender que, quando o agente SSH é iniciado, ele cria um script que precisa ser usado para atualizar seu ambiente. É assim que os programas do cliente sabem como entrar em contato com o agente. Uma maneira de fazer isso é com um comando como abaixo.

. <(ssh-agent)
ssh-add
    
por 12.02.2013 / 23:00

Tags