Tengo en mi ~/.ssh/config
archivo 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 ssh
o rsync
con 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 ClearAllForwardings
una 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