Захват нескольких терминалов с сервера Linux, предпочтительно через SSH - PullRequest
0 голосов
/ 22 сентября 2019

У меня есть скрипт NodeJS, который управляет портами, и в основном он также может открывать удаленные оболочки для подключенного клиента.Сценарий прослушивает ввод, и если я наберу в качестве примера shell <some_ip>, появится новая консоль, где я смогу взаимодействовать с открытой оболочкой на клиенте.В основном сейчас у меня 2 приставки.Он хорошо работает на моей машине разработчика, поскольку у меня есть графический интерфейс, но на сервере я хотел бы полагаться только на соединение SSH, а не устанавливать графический интерфейс и удаленный доступ к нему.То, что я хочу, выглядит так:

  • SSH на сервер
  • Отправить команду, чтобы открыть новую консоль, что происходит на сервере
  • Появляется новое окнона моей машине (тот, с которого у меня SSH), который в основном похож на SSH-в другой консоли, открытой на сервере

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

my_machine                      server     client
term_a_1 (remote of term_b_1)   term_b_1   term_c_1 (the app)

shell <some_ip>

my_machine                      server                          client
term_a_1 (remote of term_b_1)   term_b_1                        term_c_1 (the app)
term_a_2 (remote of term_b_2)   term_b_2 (remote of term_c_2)   term_c_2

Конечно, я не хочу подключать term_a_2 к term_c_2, поскольку term_c_2 всегда должен быть подключенна сервер.В term_a_2 я мог бы выполнить что-то вроде exit, которое term_b_2 интерпретирует (поскольку это другой скрипт NodeJS, ожидающий ввода), и все обернулось бы, как на первом этапе.Все между сервером и клиентом сделано мной, мне просто нужна какая-то переадресация консоли между ЛЮБОЙ машиной и сервером.

Прошу прощения за мой плохой английский.

...