Jak tymczasowo wyłączyć lokalne przekazywanie


13

Mam w swoich ~/.ssh/configplikach wpisy z lokalnymi definicjami przekazywania, takimi jak

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

To działa jak urok, ale mam też skrypty do synchronizacji niektórych danych.
Skrypty te wyświetlają wiele ostrzeżeń, gdy próbują połączyć się z serwerem, gdy istnieje już połączenie.

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

Czy istnieje fajny sposób użycia sshlub rsyncz opcją wyłączenia wszystkich lokalnych przekazywania do przodu dla sesji?

Oczywiście mógłbym skopiować i wkleić każdy blok konfiguracji i zbudować jeden z drugim bez lokalnego przekazywania, ale mam nadzieję, że istnieje lepsze rozwiązanie.

Odpowiedzi:


14

Istnieje ClearAllForwardingsopcja ssh_config, która robi dokładnie to, czego potrzebujesz:

ClearAllForwardings

Określa, że ​​wszystkie lokalne, zdalne i dynamiczne przekierowania portów określone w plikach konfiguracyjnych lub w wierszu poleceń zostaną wyczyszczone. Ta opcja jest szczególnie użyteczna, gdy jest używana z wiersza poleceń ssh (1) do czyszczenia przekierowań portów ustawionych w plikach konfiguracyjnych i jest automatycznie ustawiana przez scp (1) i sftp (1). Argumentem musi być tak lub nie (domyślnie).

Możesz użyć go jako opcji wiersza poleceń:

ssh -o ClearAllForwardings=yes host

Idealnie - myślałem, że dość dokładnie przeczytałem dokumentację
jeb

2
Na wypadek, gdyby ktoś tego potrzebował git:GIT_SSH_COMMAND="/usr/bin/ssh -o ClearAllForwardings=yes"
user1338062

Zdecydowanie nie RemoteForward=no- tego właśnie szukałem, szukając tej samej odpowiedzi.
DouglasDD

Pomija to również komunikat, Warning: remote port forwarding failed for listen port XYZgdy istnieje już połączenie.
Jan

1
@wbkang na pewno. Naprawiono teraz. Przepraszam, to prawdopodobnie literówka.
Jakuje
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.