ssh代理启动但无法连接到认证代理
问题描述:
我试图添加一个新的ssh密钥。我使用“的ssh-agent -s”启动服务,我得到这样的响应:ssh代理启动但无法连接到认证代理
SSH_AUTH_SOCK=/tmp/ssh-tUlzwbxYNLaZ/agent.9516; export SSH_AUTH_SOCK;
SSH_AGENT_PID=8992; export SSH_AGENT_PID;
echo Agent pid 8992;
但是当我做“SSH-添加的〜/ .ssh/id_rsa”我的错误“无法打开与您的身份验证代理的连接。“启动命令不起作用?我不确定启动命令的输出是什么意思。
答
您在上面显示的输出需要为,评估为。很多时候这是通过自动完成的,如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
太棒了!谢谢 –