[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