Como desativar temporariamente os encaminhamentos locais

Como desativar temporariamente os encaminhamentos locais

Tenho em meu ~/.ssh/configarquivo entradas com definições de encaminhamento locais como

HOST myServer
   hostname 10.10.0.1
   user xyz
   LocalForward 8080 localhost:80
   LocalForward 4000 127.0.0.1:4000
   ...

Isso funciona perfeitamente, mas também tenho scripts para sincronizar alguns dados.
Esses scripts mostram muitos avisos quando tentam se conectar ao servidor enquanto já existe uma conexão.

bind: Address already in use
channel_setup_fwd_listener_tcpip: cannot listen to port: 8080
bind: Address already in use
channel_setup_fwd_listener_tcpip: cannot listen to port: 4000
....

Tem algumaorganizadomaneira de usar sshou rsynccom uma opção para desabilitar todos os encaminhamentos locais para uma sessão?

Obviamente eu poderia copiar e colar cada bloco de configuração e construir um com e outro sem encaminhamentos locais, mas espero que haja uma solução melhor.

Responder1

Existe ClearAllForwardingsuma opção em ssh_config, que faz exatamente o que você precisa:

Limpar todos os encaminhamentos

Especifica que todos os encaminhamentos de portas locais, remotos e dinâmicos especificados nos arquivos de configuração ou na linha de comando sejam limpos. Esta opção é útil principalmente quando usada na linha de comando ssh(1) para limpar encaminhamentos de porta definidos em arquivos de configuração e é definida automaticamente por scp(1) e sftp(1). O argumento deve ser sim ou não (o padrão).

Você pode usá-lo como uma opção de linha de comando:

ssh -o ClearAllForwardings=yes host

informação relacionada