2015-05-11 6 views
0

Я разработчик java, и мне поручено работать над проектом, в котором мне нужно программно ssh в linux-боксы и запустить unix commands. После выполнения команд вывод команд должен быть собран и отображен в пользовательском интерфейсе.Запуск ssh и выполнение команд на удаленных машинах

Я увидел библиотеку под названием sshxcute, которая может быть использована для этого. Мои вопросы:

  1. Есть ли лучшее решение, чем Java на основе для такого рода требований, как Nodejs или Ruby On Rails
  2. Можно получить журналы в режиме реального времени из системы, в которой команда становится выполненной, чем получение журналы - это команды, которые были выполнены.

  3. Может запускать несколько параллельных процессов на машинах асинхронно.

ответ

1

Вы можете использовать sshj. Он позволяет вам открыть ssh-соединение, отправить команды и прочитать результат.

1

Я использовал jsch библиотеку Java

ChannelShell channel = openShellChannel(); 
OutputStream outputStream = channel.getOutputStream(); 
PrintStream commander = new PrintStream(outputStream, true); 
// Print logs 
channel.setOutputStream(System.out, true); 
// exec the command 
commander.println(command); 
Смежные вопросы