Como desabilitar temporariamente encaminhamentos locais

10

Eu tenho em minhas entradas do arquivo ~/.ssh/config 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 pura de usar ssh ou rsync com uma opção para desabilitar todos os encaminhamentos locais para uma sessão?

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

    
por jeb 17.01.2017 / 13:41

1 resposta

11

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

ClearAllForwardings

Specifies that all local, remote, and dynamic port forwardings specified in the configuration files or on the command line be cleared. This option is primarily useful when used from the ssh(1) command line to clear port forwardings set in configuration files, and is automatically set by scp(1) and sftp(1). The argument must be yes or no (the default).

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

ssh -o ClearAllForwardings=yes host
    
por 17.01.2017 / 14:02