Tenho em meu ~/.ssh/config
arquivo 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 ssh
ou rsync
com 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 ClearAllForwardings
uma 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