Я столкнулся с камнем преткновения при попытке создать сценарий bash, который будет записывать файлы захвата пакетов из tcpdump на удаленный сервер, при этом отображая выходные данные команды tcpdump, чтобы пользователь сценария знал, когда его остановить.
Команда, которую я сейчас вызываю, вызывается на сервере, на котором хранится файл, и указывает на удаленное устройство (здесь указано как [AN_IP]). Это выглядит примерно так:
ssh -t [USER]@[AN_IP] -R 10000:127.0.0.1:22 "tcpdump -s0 -ei eth1 -w - | ssh -p 10000 [USER]@127.0.0.1 'tee file.pcap | /usr/sbin/tcpdump -r -'
Это работает более или менее по желанию, однако я должен иметь возможность дать пользователю возможность запускать несколько очень специфических захватов из одного экземпляра моего скрипта.
Я не могу найти хороший метод автоматизации процесса аутентификации SSH, который делает фонирование любой части этого процесса чрезвычайно сложным, если не полным, невозможным. До сих пор кажется, что любые методы создания фона этой команды или любые варианты, которые я могу придумать, приводят либо к невозможности представления одного или обоих диалогов аутентификации, либо к разрушению туннеля SSH.
Есть ли какой-нибудь способ автоматически создать фоновый сценарий после успешного завершения диалога аутентификации SSH, не нарушая туннель и не останавливая перехват?