Как временно отключить локальные пересылки

Как временно отключить локальные пересылки

У меня в ~/.ssh/configфайле есть записи с локальными определениями вперед, например

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

Это работает как по волшебству, но у меня также есть скрипты для синхронизации некоторых данных.
Эти скрипты показывают много предупреждений, когда пытаются подключиться к серверу, когда уже есть соединение.

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

Есть лиаккуратныйспособ использования sshили rsyncс возможностью отключения всех локальных пересылок для сеанса?

Конечно, я мог бы скопировать и вставить каждый блок конфигурации и создать один с локальными переадресациями, а другой без них, но я надеюсь, что есть лучшее решение.

решение1

В , есть ClearAllForwardingsопция ssh_config, которая делает именно то, что вам нужно:

ОчиститьВсеПересылки

Указывает, что все локальные, удаленные и динамические переадресации портов, указанные в файлах конфигурации или в командной строке, должны быть очищены. Этот параметр в первую очередь полезен при использовании из командной строки ssh(1) для очистки переадресаций портов, установленных в файлах конфигурации, и автоматически устанавливается scp(1) и sftp(1). Аргумент должен быть yes или no (по умолчанию).

Вы можете использовать его как параметр командной строки:

ssh -o ClearAllForwardings=yes host

Связанный контент