ssh-agent不起作用,但是eval + ssh-add可以,为什么?



我有三个服务器:(a)、(b)和(c)。

服务器(a)和(c)在authorized_keys文件中具有服务器(b)的公钥。

在从服务器(a)到服务器(b)的ssh连接过程中,我尝试访问服务器(c)。

(a)--->(b) --->(c)

使用:

ssh-agent
ssh -A <command>

失败!带有

权限被拒绝(公钥)

但是使用:

eval `ssh-agent`
ssh-add
ssh -A <command>

成功。

问题出在哪里?

实用程序ssh-agent单独运行时,对私钥转发没有任何影响,如手册页:中所述

如果给定一个命令(和可选参数),它将作为代理人。当在命令行上给出命令时,代理会自动退出终止

由于您没有提供命令,子流程在ssh-agent执行开始时终止,这意味着不执行任何操作。

您的解决方案是将command传递给ssh-agent,如下所示:

ssh-agent ssh -A <command>

相关内容

  • 没有找到相关文章

最新更新