我有一台控制服务器 (CS),它可以通过 SSH 访问许多其他服务器(H1、H2 等)。我希望 CS 能够在任意两台 H* 服务器之间发起 rsync 传输,而这些主机不知道如何直接相互连接。
我研究过本地/反向端口转发,但似乎只有当 H1 和 H2 无法在网络上直接相互通信时才有用。H1 仍然需要 H2 上的授权密钥才能工作,而这正是我想要避免的。
代理转发的缺点是允许不受信任的 H1 使用我的任何密钥访问其他主机。我不希望 H1 访问任何其他内容,只希望在传输期间访问 H2。
有没有办法可以建立从 CS 到 H1 以及从 CS 到 H2 的 SSH 连接,然后让 rsync(在 CS 或 H1 上)通过这些通道与 H2 通信而无需进行额外身份验证?类似于预授权的命令隧道?