![不清楚 SSH(代理)转发 - 我是否需要将公钥复制到每个潜在目标的 authorized_keys 中?](https://linux22.com/image/1567788/%E4%B8%8D%E6%B8%85%E6%A5%9A%20SSH%EF%BC%88%E4%BB%A3%E7%90%86%EF%BC%89%E8%BD%AC%E5%8F%91%20-%20%E6%88%91%E6%98%AF%E5%90%A6%E9%9C%80%E8%A6%81%E5%B0%86%E5%85%AC%E9%92%A5%E5%A4%8D%E5%88%B6%E5%88%B0%E6%AF%8F%E4%B8%AA%E6%BD%9C%E5%9C%A8%E7%9B%AE%E6%A0%87%E7%9A%84%20authorized_keys%20%E4%B8%AD%EF%BC%9F.png)
我正在尝试实现/测试 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 的目的(避免必须将公钥复制到目标机器)?
不。代理转发的目的不是必须复制私人的钥匙。
如果目标服务器不知道你的公钥,这怎么可能行得通呢?它永远无法确认你的身份。