通过隧道或直接通过 SSH 连接,具体取决于我所连接的网络

通过隧道或直接通过 SSH 连接,具体取决于我所连接的网络

是否可以根据客户端的 IP 地址或类似内容“自动”配置 ssh 以使用网关连接到远程机器?

假设我在我的laptop,我可以通过有线连接将其插入大学网络并直接访问cluster.uni.edu,但如果我在家,我必须跳过gateway.uni.edu。因此,要从家里连接到集群,我可以像~/.ssh/config这样:

Host cluster
    Host cluster.uni.edu
    ProxyCommand ssh -W %h:%p gateway.uni.edu

因此我可以直接ssh cluster通过网关透明地访问它。缺点是,如果我接入大学网络,则不需要通过网关,因此为了避免这种情况,我必须执行类似 的操作ssh cluster.uni.edu

是否可以设置此项,以便 ssh 在不需要时不会跳过网关?标准如下:如果eth0已连接,且IP为xxx.yyy.zzz.www,则直接连接,否则使用网关

我认为仅从配置文件和标准 ssh 选项来看,这可能要求太多了,但我真的想避免使用包装器脚本。(旁注:在我了解之前,我使用 LocalFowrard 来做这种事情,ssh -W因为我不喜欢使用netcatas的想法ProxyCommand

谢谢!

相关内容