Dlaczego „ssh-agent && ssh-add” działa tylko raz?

0

Spójrz na następującą sesję powłoki:

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.

Dlaczego mogę biegać ssh-agent && ssh-add tylko raz?

nh2
źródło

Odpowiedzi:

1

Najpierw sugeruję sprawdzenie i upewnienie się, że nie masz już uruchomionego agenta. Podejrzewam, że masz już działającego agenta. Potem zacząłeś drugi, bez poprawnego aktualizowania środowiska. Twój ssh-add komunikował się z oryginalnym agentem. Następnie zabiłeś wszystkich agentów i próbowałeś uruchomić nowy bez poprawnego aktualizowania środowiska, następujący ssh-add nie mógł skontaktować się z oryginalnym agentem, którego zabiłeś.

Następnie musisz zrozumieć, że po uruchomieniu agenta SSH wypuszcza skrypt, który musi zostać użyty do aktualizacji twojego środowiska. W ten sposób programy klienckie wiedzą, jak skontaktować się z agentem. Jednym ze sposobów jest użycie polecenia jak poniżej.

. <(ssh-agent)
ssh-add
Zoredache
źródło
Masz absolutną rację. Uruchomiony został już agent przed Loguję się, a mianowicie za pomocą use-ssh-agent w /etc/X11/Xsession.options i jego wdrożenie w /etc/X11/Xsession.d/90x11-common_ssh-agent. Teraz po prostu biegnę ssh-add.
nh2