有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在远程机器上运行ssh并执行命令

我是一名java开发人员,被分配到一个项目中,在这个项目中,我需要以编程方式ssh进入linux框并运行一些unix commands。命令运行后,应收集命令的输出并显示在UI上

我看到了一个名为sshxcute的库,可以用来实现这一点。我的问题是:

  1. 对于这种需求,比如Nodejs或rubyonrails,有没有比基于Java更好的解决方案
  2. 可以从执行命令的系统中获取实时日志,而不是在命令已运行时获取日志

  3. 可以在机器上异步运行多个并行进程


共 (2) 个答案

  1. # 1 楼答案

    您可以使用sshj。它允许您打开ssh连接、发送命令和读取输出

  2. # 2 楼答案

    我使用了jschjava库

    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);