SSH:从 A 到 B 再到 C 的完全透明直通

SSH:从 A 到 B 再到 C 的完全透明直通

我想设置三个主机:

  • ssh UserC@HostCHostC - 目标主机。您可以使用私钥登录。
  • HostB - HostC 的“大使/代理”。当您通过 ssh 连接到 HostB 时(只需ssh UserB@B使用 UserB 私钥,无需在配置中进行任何额外操作,如 ProxyCommand),这应该完全等同于直接通过 ssh 连接到 HostC。当然,HostB 拥有连接到 HostC 所需的私钥。我可以完全控制 HostB 本身。
  • HostA - 主机,我们希望从其运行ssh UserB@HostB- 通过 HostB - 连接到目标 HostC,甚至不需要事先知道 HostC 的存在。

这里有几乎相同的问题:

使用 B 上的私钥通过 SSH 从 A 经过 B 到达 C

但是,可接受的答案是使用 ProxyCommand。这需要在 HostA 上进行配置,而这对我来说并不理想。

这种情况有可能吗?谢谢!

答案1

在 HostB 上的 /etc/ssh/sshd_config 中,你可以写入类似

ForceCommand ssh HostC

可能由Match操作符开头,用于选择特定用户、源主机或 IP 地址。请参阅man sshd_config以了解更多详细信息。

相关内容