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