在 ssh_config 中设置默认网关

在 ssh_config 中设置默认网关

我想知道是否有办法将默认 ssh 网关分配给主机名,这样每当您尝试 ssh 到主机名时,它都会使用网关到达主机。理想情况下,这应该在 ssh_config 中完成

例如:客户端 C 尝试通过以下方式到达目标 T

ssh T

建立此连接的唯一方法是通过网关 GW

ssh -tA GW ssh T

编辑:我忘了提到,可能有不同的网关可以到达不同的主机

编辑:我尝试使用 ssh 配置:

Host my-target-host
ProxyCommand ssh -tA GW ssh %h

但后来我得到“不会分配伪终端,因为 stdin 不是终端”

编辑:好的,我明白了:-)正确的配置如下所示:

Host my-target-host
ProxyCommand ssh my-gateway-host exec nc %h %p

但并不完全确定为什么这样做有效...

答案1

经过一些修改和搜索后,我发现这是可行的(原因超出了我的理解):

在你的 ssh_config 中:

Host my-target-host
ProxyCommand ssh my-gateway-host exec nc %h %p

相关内容