[Responda aos elogios de kasperd no ServerFault .]
No seu .ssh / config use a palavra-chave Match para criar uma seção condicional.
A palavra-chave Match usa argumentos diferentes, um deles é exec , o que permite executar um comando externo e usar o valor de retorno desse comando para decidir se esta seção se aplica ou não.
Você pode usar isso para executar um script que inspecione quaisquer configurações de rede que você possa usar para diferenciar as diferentes redes. O script precisa retornar 0 quando um ProxyCommand for necessário e qualquer valor diferente de zero quando um ProxyCommand não for necessário.
Aqui está um exemplo de como a configuração poderia ser:
Match host external-host.example.com exec /home/joe/bin/need-proxy
ProxyCommand /home/joe/bin/proxy-script %h %p