Como ssh através de um servidor proxy, às vezes

1

No meu laptop de trabalho, se eu precisar de SSH em uma máquina que não seja de trabalho, preciso passar por um servidor proxy, mas apenas quando estiver na rede de trabalho (no escritório ou na VPN). Eu faço isso definindo uma linha ProxyCommand no meu arquivo de configuração SSH. No entanto, quando não estou no escritório ou na WAN, não quero usar o proxy. Existe uma maneira fácil de automatizar a decisão de usar ou não o proxy?

    
por Joe Casadonte 02.01.2018 / 13:51

1 resposta

0

[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
    
por 02.01.2018 / 13:51

Tags