【问题标题】:ssh key forward without ssh-add没有 ssh-add 的 ssh 密钥转发
【发布时间】:2023-03-19 01:47:01
【问题描述】:

我有几个主机 HostAHostB 和一个密钥 KeyX 用于 ssh 到两个主机。我正在尝试先 ssh 到 HostA,然后再从 HostA ssh 到 HostB

以下步骤不起作用:

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 private-key ssh-agent


    【解决方案1】:

    我了解 ssh-add 将密钥添加到 ssh-agent

    是的

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

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

    有人可以解释ssh-add 满足的密钥转发所需的内容吗,从可用的公开文件中不清楚。

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

    【讨论】:

    猜你喜欢
    • 2019-10-09
    • 2014-08-11
    • 1970-01-01
    • 2016-06-15
    • 1970-01-01
    • 2016-07-21
    • 2014-04-29
    • 2014-10-21
    • 1970-01-01
    相关资源
    最近更新 更多