Назад | Перейти на главную страницу

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

У меня в моем ~/.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 с возможностью отключить все локальные переадресации для сеанса?

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

Там есть ClearAllForwardings вариант в ssh_config, который делает именно то, что вам нужно:

ClearAllForwardings

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

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

ssh -o ClearAllForwardings=yes host