我是一名java开发人员,我被分配到一个项目,我需要以编程方式ssh
进入linux框并运行一些unix commands
。命令运行后,应收集命令的输出并显示在UI上。
我看到了一个名为sshxcute的库,它可用于完成此任务。我的问题是:
可以从执行命令的系统获取实时日志,而不是在运行命令时获取日志。
可以异步在机器上运行多个并行进程。
答案 0 :(得分:1)
您可以使用sshj。它允许您打开ssh连接,发送命令并读取输出。
答案 1 :(得分: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);