Scenerio: Я хотел бы запускать команды на удаленных машинах из Java-программы через ssh (я использую OpenSSH на моей машине разработки). Я также хотел бы сделать ssh-соединение, передав пароль, а не настраивая клавиши так же, как и "ожидать".
Проблема. При попытке выполнить "ожидание", как вход в пароли, процесс, созданный с помощью ProcessBuilder, не может видеть запрос пароля. При выполнении регулярных команд non-ssh (например, ls ') я могу получить потоки и взаимодействовать с ними просто отлично. Я комбинирую стандартную ошибку и стандартную версию в один поток с redirectErrorStream(true);
, поэтому я не пропускаю его в стандартной ошибке... Когда я запускаю ssh с опцией -v, я вижу все записи в потоке, но я не вижу подсказки. Это мой первый попыток использовать ProcessBuilder для чего-то вроде этого. Я знаю, что было бы проще использовать Python, Perl или good ol ', но мой босс хочет использовать то, что мы пытаемся вернуть (удаленные файлы журналов и запущенные скрипты) в рамках существующей Java-программы, поэтому я как бы застрял.
Заранее благодарим за помощь!