ssh密钥转发无ssh-add
问题描述:
我有几台主机HostA
,HostB
和一个密钥KeyX
用于ssh两个主机。我试图首先ssh到HostA
,然后从HostA
ssh到HostB
。ssh密钥转发无ssh-add
以下步骤不起作用:
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满足的关键转发所需要的,从可用的公共文档中不清楚。
答
据我所知,SSH-ADD增加了关键的ssh-agent
是
,但不明白为什么第一过程中没有工作,为什么增加的关键,代理有所作为。
钥匙在您的机器上。如果您没有将其添加到代理并且未将此代理转发到hostA
(可能在配置中指定),它将不会看到该密钥,并且将无法验证您的身份。
有人可以解释什么是由
ssh-add
满足的关键转发所需的,从可用的公共文件中不清楚。
使用ssh-add -l
。它会列出您在座席中拥有的钥匙。起初它没有列出你的钥匙,在ssh-add
之后。您应该能够在hostA
上运行相同的命令,您应该在其中看到从本地计算机转发的相同密钥。
谢谢,您的回复让我意识到,我错过了不同之处b/w SSH密钥代理与SSH客户端。本文讨论一步一步的过程,它有助于http://www.unixwiz.net/techtips/ssh-agent-forwarding.html#fwd – broun