没有ssh-add的ssh密钥转发
ssh key forward without ssh-add
我有几个主机 HostA
、HostB
和一个密钥 KeyX
用于 ssh 到两个主机。我试图先 ssh 到 HostA
,然后从 HostA
.
ssh 到 HostB
以下步骤不起作用:
localhost :> ssh -i KeyX HostA
hosta :> ssh -A HostB
SSH 到 HostB
失败并出现错误抱怨 "Permission denied (publickey)."
以下步骤有效:
localhost:> ssh-add KeyX
localhost:> ssh -i KeyX HostA
hostA:> ssh -A HostB
有效。我知道 ssh-add
将密钥添加到 ssh-agent,但不明白为什么第一个进程不起作用以及为什么将密钥添加到代理会有所不同。有人可以解释 ssh-add 满足的密钥转发需要什么吗,可用的 public 文档中不清楚。
I understand that ssh-add adds key to the ssh-agent
是
but don't understand why the first process does not works and why adding the key to the agent make a difference.
密钥在您的机器上。如果您不将其添加到代理并且不将此代理转发到 hostA
(可能在配置中指定?),它将看不到密钥并且无法对您进行身份验证。
Can someone explain what was required for key forward that is satisfied by ssh-add
, wasn't clear from available public documents.
使用ssh-add -l
。它将列出您在代理中拥有的密钥。起初它不列出您的密钥,在 ssh-add
之后列出。您应该能够 运行 在 hostA
上执行相同的命令,您应该会看到从本地计算机转发的相同密钥。
我有几个主机 HostA
、HostB
和一个密钥 KeyX
用于 ssh 到两个主机。我试图先 ssh 到 HostA
,然后从 HostA
.
HostB
以下步骤不起作用:
localhost :> ssh -i KeyX HostA
hosta :> ssh -A HostB
SSH 到 HostB
失败并出现错误抱怨 "Permission denied (publickey)."
以下步骤有效:
localhost:> ssh-add KeyX
localhost:> ssh -i KeyX HostA
hostA:> ssh -A HostB
有效。我知道 ssh-add
将密钥添加到 ssh-agent,但不明白为什么第一个进程不起作用以及为什么将密钥添加到代理会有所不同。有人可以解释 ssh-add 满足的密钥转发需要什么吗,可用的 public 文档中不清楚。
I understand that ssh-add adds key to the ssh-agent
是
but don't understand why the first process does not works and why adding the key to the agent make a difference.
密钥在您的机器上。如果您不将其添加到代理并且不将此代理转发到 hostA
(可能在配置中指定?),它将看不到密钥并且无法对您进行身份验证。
Can someone explain what was required for key forward that is satisfied by
ssh-add
, wasn't clear from available public documents.
使用ssh-add -l
。它将列出您在代理中拥有的密钥。起初它不列出您的密钥,在 ssh-add
之后列出。您应该能够 运行 在 hostA
上执行相同的命令,您应该会看到从本地计算机转发的相同密钥。