我想知道是否有办法将默认 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