不清楚 SSH(代理)转发 - 我是否需要将公钥复制到每个潜在目标的 authorized_keys 中?

不清楚 SSH(代理)转发 - 我是否需要将公钥复制到每个潜在目标的 authorized_keys 中?

我正在尝试实现/测试 SSH 转发,但到目前为止,唯一能使其工作的方法是手动将公钥(ssh-rsa xxxx)复制到我想要通过 SSH 连接的每台机器上。

假设我有:

我的工作站有 Putty 和 Pageant,并且我有一个导入到 Pageant 的 PPK 以及相应的公钥。

CENTOS1 - 已运行 ssh-agent,并且 sshd_config 和 ssh_config 的“Forwarding”参数设置为“yes”

CENTOS2 - 已运行 ssh-agent,且 sshd_config 和 ssh_config 的“Forwarding”参数设置为“yes”

然后,我使用Putty连接到CENTOS1并且可以进入CENTOS1。

但是,如果我从 CENTOS1 尝试“ssh myself@CENTOS2”,我无法进入并收到“权限被拒绝”的提示。

但是,如果我将公钥复制到 CENTOS2 上的 authorized_keys,那么,当我在 CENTOS1 上时,我就可以“ssh myself@CENTOS2”了。

我认为,通过在 CENTOS1 和 CENTOS2 上运行 ssh-agents,并在我的工作站上运行 Pageant 并将 PPK 加载到 Pageant 中,我应该能够通过 Putty 连接到 CENTOS1,然后从 CENTOS1,我应该能够通过 SSH 连接到 CENTOS2,而不必手动将公钥复制到 CENTOS1 或 CENTOS2?

我认为这就是使用 ssh-agent 和 Pageant 的目的(避免必须将公钥复制到目标机器)?

或者使用 ssh-agent 和 Pageant 只是为了避免将私钥复制到目标机器?

谢谢,吉姆

答案1

我认为这就是使用 ssh-agent 和 Pageant 的目的(避免必须将公钥复制到目标机器)?

不。代理转发的目的不是必须复制私人的钥匙。

如果目标服务器不知道你的公钥,这怎么可能行得通呢?它永远无法确认你的身份。

相关内容