Библиотека Java для запуска нескольких несвязанных команд на удаленном сервере через ssh

Мое Java-приложение должно работать так:

Пользователь выбирает команды bash в графическом интерфейсе и нажимает "Отправить."Приложение возвращает разные и независимые ответы для каждой команды (например, мы можем хранить их в разных файлах).Каждая команда выполняется в интерактивном режиме, а не в пакете (это можетчто-то вроде "ls \ n pwd \ n " так далее)После каждой команды приложение будет проверять, в порядке ли результаты. Если это так, он отправит следующую команду.Нам нужно выполнитьsu  на удаленном хосте.

Это будет плагин для большего приложения, поэтому ответы вродепопробуй что-нибудь еще (т.е. RPC, веб-сервисы) мне не помогут :(

Насколько я понимаю, я должен использовать SHELL или, по крайней мере, держать канал подключенным.

Я проверил jsch, sshj и ethz.ssh2, но с плохими результатами.

я выложил через stackoverflow ответы на такие вопросы, как: "отправка-команд-сервер-через-JSch-оболочка-канал» и т.д. Но все они сосредоточены на отправке целых команд в одну строку. Мне нужен интерактивный, постоянный сеанс SSH.

мы использовали ExpectJ (с небольшим взломом потока вывода). Это разрешило пункты 1,3,4,5.

Но Есть проблема с пунктом 2. В моем приложении мне нужно получить отдельный ответ. Но мы не будем знать их длину. Командные строки могут быть разными. Кто-нибудь знает, каквзломать» ExpectJ, так будет как нибудь более синхронизированным? Я ищу, чтобы действовать так:отправить, дождаться полного ответа, отправить, подождать ... яМы пробовали некоторые базовые приемы синхронизации, но это обычно приводило к потере времени ожидания и потере соединения.

Ответы на вопрос(2)

Ваш ответ на вопрос