Библиотека Java для интерактивного SSH-сеанса (чтобы можно было выполнять многокомпонентные команды)? - PullRequest
5 голосов
/ 01 июня 2011

В настоящее время я использую библиотеку для SSH в Java, но, похоже, ей не хватает возможности выполнять многокомпонентные команды (например, если я делаю passwd user), у меня нет возможности дважды ввести пароль, чтобы изменить его, потому чтоэто заставляет вас начинать новый сеанс каждый раз, когда вы вводите команду).Мне действительно нужна эта функциональность для текущего приложения, над которым я работаю, и, похоже, есть много SSH-библиотек для Java, но я не уверен, какие из них позволят это сделать, а некоторые, похоже, этого не делают.

Любой совет относительно хорошей библиотеки, чтобы посмотреть на это, был бы очень признателен.

Для закрытия патруля: , если вы собираетесь попытаться закрыть это, по крайней мере процитируйте поток, который спрашиваеттот же вопрос, что и у меня, а не просто общий вопрос "что такое хорошая библиотека Java SSH"

Ответы [ 3 ]

2 голосов
/ 01 июня 2011

Я пользуюсь библиотекой Ganymede SSH-2 с большим успехом. Однако запрос пароля не должен появляться в приложении вообще, он должен быть частью согласования настройки соединения.

0 голосов
/ 20 мая 2016

вы можете запускать интерактивные команды, такие как "passwd user", используя

session.getStdin().write() refer following snipped 
connection = new Connection( host,port );
            connection.connect();
            // Authenticate
   boolean result = connection.authenticateWithPassword( username, password );
 Session session = connection.openSession();
session.requestPTY("bash");
session.execCommand( "passwd testuser" );
session.getStdin().write("newPassword\n".getBytes()); // //for new password
session.getStdin().write("newPassword\n".getBytes()); //for retype new password

 System.out.println( "ExitCode: " + session.getExitStatus() );
session.close();
connection.close();
0 голосов
/ 01 июня 2011

После долгих поисков я нашел это: http://code.google.com/p/enchanter/, что выглядит именно так, как мне нужно, поэтому я решил опубликовать это здесь для справки

...