没有ssh-add的ssh键转发

时间:2017-07-31 00:16:27

标签: ssh private-key ssh-agent

我有几个主机HostAHostB和一个密钥KeyX用于ssh到两个主机。我想首先将HostA ssh,然后从HostB ssh到HostA

以下步骤不起作用:

localhost :> ssh -i KeyX HostA
hosta :> ssh -A HostB

SSH到HostB失败,错误抱怨"权限被拒绝(公钥)。"

以下步骤:

localhost:> ssh-add KeyX
localhost:> ssh -i KeyX HostA
hostA:> ssh -A HostB

作品。我知道ssh-add为ssh-agent添加了关键,但不理解为什么第一个进程不起作用以及为什么将密钥添加到代理会产生影响。有人可以解释一下ssh-add所满足的关键转发所需要的内容,并不能从可用的公共文档中清楚。

1 个答案:

答案 0 :(得分:1)

  

我知道ssh-add会为ssh-agent添加密钥

  

但不明白为什么第一个过程不起作用以及为什么将密钥添加到代理会产生影响。

钥匙在你的机器上。如果您不将其添加到代理并且不将此代理转发到hostA(可能在配置中指定?),它将看不到密钥,也无法对您进行身份验证。

  

有人可以解释ssh-add满足的关键转发所需要的内容,但现有的公开文件中并不清楚。

使用ssh-add -l。它将列出您在代理中的密钥。首先,它不会在ssh-add之后列出您的密钥。您应该能够在hostA上运行相同的命令,在那里您应该看到从本地计算机转发的相同密钥。