ubuntu ssh-agent不能像eval+ssh-add那样工作,为什么?

ogq8wdun  于 2022-12-17  发布在  其他
关注(0)|答案(1)|浏览(123)

我有3台服务器:(a)、(B)及(c)段。
服务器(a)和(c)在authorized_keys文件中具有服务器(B)的公钥。
我试图通过ssh连接从服务器(a)访问服务器(B)。
(a)---〉(B)---〉(c)
使用:

ssh-agent
ssh -A <command>

失败!
权限被拒绝(公钥)
但是使用:

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

成功。
出了什么问题?

dced5bon

dced5bon1#

实用程序ssh-agent在单独运行时对私钥转发没有任何影响,如手册页中所述:
如果提供了命令(和可选参数),则此命令将作为代理的子进程执行。当命令行上提供的命令终止时,代理将自动退出
因为您没有提供命令,所以子进程在ssh-agent执行开始时终止,这意味着-不执行任何操作。
您的解决方案是将command传递给ssh-agent,如下所示:

ssh-agent ssh -A <command>

相关问题