我正在寻找一种将 ssh 连接从一个主机重定向到另一个主机的方法。当用户创建到主机 foo 的 ssh 连接时,我希望服务器返回一些响应,使 ssh 客户端关闭到 foo 的 ssh 连接并改为连接到主机 bar。
重要的是,对于我设想的应用程序,简单地通过 foo 将 ssh 连接转发到 bar 是不行的,因此标准端口转发是不可能的。一旦发生重定向,客户端应该直接将 TCP 数据包发送到 bar,而不是 foo(而不是通过 foo 发送到 bar)。
因此,大致上,我正在寻找一个类似于 HTTP 重定向的 SSH(这会导致客户端挂断原始连接并连接到重定向到的主机)。
对于我所想的应用程序来说,这不需要任何客户端配置也很重要。
那么,这可能吗?
答案1
答案2
您可以设置富SSH 服务器充当酒吧SSH 服务器。
例如,使用 OpenSSH,您应该能够通过ForceCommand
SSH 连接到酒吧服务器:
ForceCommand ssh bar_host
当然富主机必须配置为允许无交互访问酒吧,例如通过拥有未加密的私钥。
这对于客户端应用程序来说是透明的。