Cómo deshabilitar temporalmente los reenvíos locales

Cómo deshabilitar temporalmente los reenvíos locales

Tengo en mi ~/.ssh/configarchivo entradas con definiciones de reenvío locales como

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

Esto funciona de maravilla, pero también tengo scripts para sincronizar algunos datos.
Estos scripts muestran muchas advertencias cuando intentan conectarse al servidor mientras ya existe una conexión.

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
....

Hay unalimpio¿Manera de usar ssho rsynccon una opción para deshabilitar todos los reenvíos locales para una sesión?

Obviamente, podría copiar y pegar cada bloque de configuración y crear uno con y otro sin reenvíos locales, pero espero que haya una solución mejor.

Respuesta1

Hay ClearAllForwardingsuna opción en ssh_config, que hace exactamente lo que necesita:

Borrar todos los reenvíos

Especifica que se borre todos los reenvíos de puertos locales, remotos y dinámicos especificados en los archivos de configuración o en la línea de comando. Esta opción es principalmente útil cuando se usa desde la línea de comando ssh(1) para borrar los reenvíos de puertos establecidos en los archivos de configuración, y scp(1) y sftp(1) la configuran automáticamente. El argumento debe ser sí o no (el valor predeterminado).

Puedes usarlo como una opción de línea de comando:

ssh -o ClearAllForwardings=yes host

información relacionada