У меня есть скрипт 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, ожидающий ввода), и все обернулось бы, как на первом этапе.Все между сервером и клиентом сделано мной, мне просто нужна какая-то переадресация консоли между ЛЮБОЙ машиной и сервером.
Прошу прощения за мой плохой английский.