2

Можно ли "автоматически" настроить ssh для использования шлюза для подключения к удаленной машине на основе IP-адреса клиента или чего-то подобного?

Предположим, я на своем 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 качестве ProxyCommand)

Спасибо!

0