Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过java程序在远程系统上运行SSH命令(后续)_Java_Command Line_Ssh_Command - Fatal编程技术网

如何通过java程序在远程系统上运行SSH命令(后续)

如何通过java程序在远程系统上运行SSH命令(后续),java,command-line,ssh,command,Java,Command Line,Ssh,Command,我试图通过Java程序在远程主机上运行命令/可执行文件。这是我从相关线程获得的代码。我可以连接到远程主机并通过中的BufferedReader读取流。但是,我无法使用out.println(“ls/home/ubuntu”)发送/执行命令。你有什么建议吗?我正在MAC操作系统上工作 Process p = Runtime.exec("ssh myhost"); PrintStream out = new PrintStream(p.getOutputStream()); BufferedRead

我试图通过Java程序在远程主机上运行命令/可执行文件。这是我从相关线程获得的代码。我可以连接到远程主机并通过中的BufferedReader读取流。但是,我无法使用out.println(“ls/home/ubuntu”)发送/执行命令。你有什么建议吗?我正在MAC操作系统上工作

Process p = Runtime.exec("ssh myhost");
PrintStream out = new PrintStream(p.getOutputStream());
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream());
Thread.sleep(3000);
while (in.ready()) {
   String s = in.readLine();
   System.out.println(s);
}

out.println("ls /home/ubuntu");
Thread.sleep(3000);
while (in.ready()) {
    String s = in.readLine();
    System.out.println(s);
}
out.println("exit");
我使用了一个库,但我想在浏览文档时看起来更好。

我使用了一个库,但我想在浏览文档时看起来更好。

让它工作起来了

PrintStream out = new PrintStream(p.getOutputStream());
不适合我,所以我改成了这个

PrintWriter out = new PrintWriter(new OutputStreamWriter(new BufferedOutputStream(p.getOutputStream())), true);
让它发挥作用

PrintStream out = new PrintStream(p.getOutputStream());
不适合我,所以我改成了这个

PrintWriter out = new PrintWriter(new OutputStreamWriter(new BufferedOutputStream(p.getOutputStream())), true);

谢谢,我也会查的。谢谢,我也会查的。