我有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>
成功。出了什么问题?
dced5bon1#
实用程序ssh-agent在单独运行时对私钥转发没有任何影响,如手册页中所述:如果提供了命令(和可选参数),则此命令将作为代理的子进程执行。当命令行上提供的命令终止时,代理将自动退出因为您没有提供命令,所以子进程在ssh-agent执行开始时终止,这意味着-不执行任何操作。您的解决方案是将command传递给ssh-agent,如下所示:
ssh-agent
command
1条答案
按热度按时间dced5bon1#
实用程序
ssh-agent
在单独运行时对私钥转发没有任何影响,如手册页中所述:如果提供了命令(和可选参数),则此命令将作为代理的子进程执行。当命令行上提供的命令终止时,代理将自动退出
因为您没有提供命令,所以子进程在
ssh-agent
执行开始时终止,这意味着-不执行任何操作。您的解决方案是将
command
传递给ssh-agent
,如下所示: