我有几个主机HostA
,HostB
和一个密钥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所满足的关键转发所需要的内容,并不能从可用的公共文档中清楚。
答案 0 :(得分:1)
我知道ssh-add会为ssh-agent添加密钥
是
但不明白为什么第一个过程不起作用以及为什么将密钥添加到代理会产生影响。
钥匙在你的机器上。如果您不将其添加到代理并且不将此代理转发到hostA
(可能在配置中指定?),它将看不到密钥,也无法对您进行身份验证。
有人可以解释
ssh-add
满足的关键转发所需要的内容,但现有的公开文件中并不清楚。
使用ssh-add -l
。它将列出您在代理中的密钥。首先,它不会在ssh-add
之后列出您的密钥。您应该能够在hostA
上运行相同的命令,在那里您应该看到从本地计算机转发的相同密钥。