是否可以根据客户端的 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
因为我不喜欢使用netcat
as的想法ProxyCommand
)
谢谢!