您在上面顯示的輸出需要爲,評估爲。很多時候這是通過自動完成的,如eval `ssh-agent`
。這將導致
SSH_AUTH_SOCK=/tmp/ssh-tUlzwbxYNLaZ/agent.9516; export SSH_AUTH_SOCK;
:在SSH_AUTH_SOCK
環境變量設置爲給定值。
SSH_AGENT_PID=8992; export SSH_AGENT_PID;
:將SSH_AGENT_PID
環境變量設置爲給定值。
這兩個變量需要設置爲ssh-add
才能找到代理。如果您想手動評估它們,您可以複製這些命令,將它們粘貼到您的終端或控制檯中,然後按Enter鍵。然後再次嘗試使用ssh-add
。
最後一行echo Agent pid 8992;
只是打印出您的信息的ssh-agent
進程ID。
這些變量不能被硬編碼,因爲套接字和PID是不可預測的。每次你開始ssh-agent
你需要使用它打印出來的任何值。
請注意,這些變量僅針對當前shell設置。所以,如果你在終端窗口中進行操作,然後在該窗口中工作,你應該沒問題,但是如果關閉窗口並打開一個新終端,它將不再工作。同樣,如果您登錄到控制檯,然後註銷並重新登錄。
大多數現代桌面環境啓動ssh-agent
併爲您設置適當的環境變量,所以如果您使用Gnome或KDE或Unity或您不應該這樣做。如果你手動啓動你的環境,或者使用一些不適合你的裸機,你應該在你的X啓動文件中增加eval `ssh-agent`
,例如.xinitrc
,以便它在啓動X之前運行。
那麼我到底該做什麼呢?我不擅長這些事情。 –
@ user3784238,在不瞭解你的系統的情況下,你應該能夠運行前兩個'ssh-agent -s'吐出的命令(我的答案中的兩個命令)。將它們複製到您的終端或控制檯中,然後按Enter鍵。然後再次嘗試從同一個終端或控制檯使用'ssh-agent'。 – Chris
太棒了!謝謝 –