Как добавить проброс портов s sh после установки соединения - PullRequest
0 голосов
/ 27 мая 2020

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

Если бы я знал порт, я бы, очевидно, мог ssh myhost -L1234:127.0.0.1:1234 или даже добавить LocalForward 1234 127.0.0.1:1234 в мой .ssh/config. Проблема в том, что я не знаю номер 1234, пока не подключусь и не запустил процесс.

Три обходных пути, которые я могу придумать, далеки от совершенства:

  1. перенаправить все возможные порты (это безумие)

  2. как только порт определен, откройте второе s sh соединение с тем же хостом с правильной переадресацией портов (я бы предпочел избежать этого для других причин)

  3. после определения порта go в s sh внутреннюю командную строку через escape-последовательность ~C и настройку -L 2233:127.0.0.1:2233 порта вперед. Это почти идеально. Я могу сделать это в интерактивном режиме, но не знаю , как это сделать с помощью скрипта? .

Другими словами, можно ли изменить список перенаправляемых портов из процесса, удаленно выполняемого через s sh без перекомпиляции s sh?

Спасибо!

...