簡體   English   中英

如何通過Java程序在遠程系統上運行SSH命令(后續)

[英]How to run SSH commands on remote system through java program (followup)

我試圖通過Java程序在遠程主機中運行命令/可執行文件。 這是我從相關線程獲得的代碼。 我可以連接到遠程主機,並通過中的BufferedReader讀取流。 但是,我無法使用out.println(“ ls / home / ubuntu”);發送/執行命令 你有什么建議? 我正在MAC OS系統上工作。

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

我使用了JSch庫,但是我認為sshxcute在閱讀文檔時會更好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM