Como desativar temporariamente os encaminhadores locais

12

Eu tenho em meus ~/.ssh/configarquivos 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 como um encanto, 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
....

Existe uma maneira elegante de usar sshou rsynccom uma opção para desativar todos os encaminhadores locais para uma sessão?

Obviamente, eu poderia copiar e colar cada bloco de configuração e criar um com e um sem encaminhadores locais, mas espero que exista uma solução melhor.

jeb
fonte

Respostas:

13

Existe a ClearAllForwardingsopção ssh_config, que faz exatamente o que você precisa:

ClearAllForwardings

Especifica que todos os encaminhamentos de porta local, remoto e dinâmico especificados nos arquivos de configuração ou na linha de comandos sejam limpos. Esta opção é útil principalmente quando usada na linha de comando ssh (1) para limpar os encaminhamentos de portas definidos nos arquivos de configuração e é automaticamente definida 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
Jakuje
fonte
Perfeito - eu pensei que tinha lido a documentação com atenção suficiente
jeb 17/01
2
Apenas no caso de alguém precisar disso git:GIT_SSH_COMMAND="/usr/bin/ssh -o ClearAllForwardings=yes"
user1338062 28/17
Definitivamente não RemoteForward=no- que é o tipo de coisa que eu estava procurando quando procurava a mesma resposta.
DouglasDD
Isso também suprime a mensagem Warning: remote port forwarding failed for listen port XYZquando já existe uma conexão.
Jan
1
@wbkang sure. Corrigido agora. Desculpe, provavelmente foi um erro de digitação.
Jakuje 30/11/2018