我已经安装了 Ubuntu 11.10。我对这个行为感到困惑ssh-agent
:当我输入命令时,我得到以下输出:
SSH_AUTH_SOCK=/tmp/ssh-qKBOsDj10698/agent.10698; export SSH_AUTH_SOCK;
SSH_AGENT_PID=10699; export SSH_AGENT_PID;
echo Agent pid 10699;
就是这样,代理没有运行。:( 有什么建议吗?
答案1
如果你手动运行 ssh-agent,通常运行
ssh 代理 bash
。然后,在该 bash shell 中,它将能够与代理通信,并且您可以使用 ssh-add 添加您的 ssh 密钥。如果您尝试在 X11 中使用它,许多发行版已经启动了 ssh-agent。尝试运行:
echo $SSH_AGENT_PID
答案2
代理(可能)正在运行(检查您的ps
输出 - 从您的示例中,您可能有一个作为 PID 10699 运行的 ssh-agent 副本)。
如果你咨询ssh-agent 手册页(man ssh-agent
)您会发现,当您ssh-agent
从命令行启动时会发生两件事:
- 代理启动
- 您会得到一些输出(特定于您正在运行的 shell 类型,或您指定的任何类型的 shell),这些输出将设置环境变量来告知
ssh
如何连接到代理。
为了让你的 shell 吞下输出,你需要执行以下操作:
eval `ssh-agent`
或者手动运行它转储到您的终端上的命令。
手册页还提供了有关其他启动代理的方式(ssh-agent [programname]
- 将启动 [programname] 并设置适当的环境变量)。