2015-05-18 38 views
1

我正在使用java中的應用程序。 我可以在我的機器主機上執行linux命令(bash),但是我想在像ssh這樣的遠程機器上執行這個命令。 I'm尤斯這個代碼從java遠程機器運行linux命令

Process process = Runtime.getRuntime().exec(script); 
    process = Runtime.getRuntime().exec(script); 

    BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream())); 
    String line; 
    while ((line = in.readLine()) != null) { 
      System.out.println(line); 
    } 

我怎樣才能在遠程機器使用Java代碼執行Linux的殼呢?

+3

你看過一個Java的'ssh'庫,就像這個答案中的那個:http://stackoverflow.com/a/996415/4687135。另外,也許你的腳本可以爲你做ssh部分? –

+0

這段代碼運行在Windows機器上,我需要在Linux遠程機器上執行bash腳本。我會嘗試圖書館謝謝! –

+0

有人知道遠程連接的方法嗎?我還無法連接 –

回答

1

Luis:正如Eric建議的一種可能的解決方案是運行本地腳本,該腳本在遠程服務器上執行SSH本身。

舉例來說,如果你有一個Linux的> Linux環境下,你的腳本,你可以有這樣的:

ssh [email protected] 'bash -s' < localscripttoexecuteremotely.sh 

在Windows的> Linux的情況下,你可以這樣做:

plink [email protected] -m localscripttoexecuteremotely.sh 

取請參閱this thread瞭解更多信息。

+0

這是正確的執行遠程腳本這是最好的方法 –