Ich habe in meiner ~/.ssh/config
Datei Einträge mit lokalen Vorwärtsdefinitionen wie
HOST myServer
hostname 10.10.0.1
user xyz
LocalForward 8080 localhost:80
LocalForward 4000 127.0.0.1:4000
...
Das funktioniert einwandfrei, aber ich habe auch Skripte, um einige Daten zu synchronisieren.
Diese Skripte zeigen viele Warnungen an, wenn sie versuchen, eine Verbindung zum Server herzustellen, während bereits eine Verbindung besteht.
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
....
Gibt es einsauberMöglichkeit zur Verwendung ssh
oder rsync
mit einer Option zum Deaktivieren aller lokalen Weiterleitungen für eine Sitzung?
Natürlich könnte ich jeden Konfigurationsblock kopieren und einfügen und einen mit und einen ohne lokale Weiterleitungen erstellen, aber ich hoffe, es gibt eine bessere Lösung.
Antwort1
Es gibt ClearAllForwardings
eine Option in ssh_config
, die genau das tut, was Sie brauchen:
AlleWeiterleitungen löschen
Gibt an, dass alle lokalen, Remote- und dynamischen Portweiterleitungen, die in den Konfigurationsdateien oder auf der Befehlszeile angegeben sind, gelöscht werden. Diese Option ist vor allem dann nützlich, wenn sie von der ssh(1)-Befehlszeile aus verwendet wird, um in Konfigurationsdateien festgelegte Portweiterleitungen zu löschen. Sie wird von scp(1) und sftp(1) automatisch gesetzt. Das Argument muss yes oder no (die Vorgabe) sein.
Sie können es als Befehlszeilenoption verwenden:
ssh -o ClearAllForwardings=yes host