如何通過ssh在遠程計算機上運行應用程序?如何通過ssh在遠程計算機上運行應用程序?
我試着用JSCH,這種方式:
Properties props = new Properties();
props.put("StrictHostKeyChecking", "no");
String host = "111.111.11.111";
String user = "myuser";
String pwd = "mypass";
// int port = 22;
JSch jsch = new JSch();
Session session = jsch.getSession(user, host);
session.setConfig(props);
session.setPassword(pwd);
session.connect();
System.out.println(session.getServerVersion());
System.out.println("Conected!");
// String command = "ps -ef;date;hostname";
String command = "myapplication someFileAsParameter";
Channel channel = session.openChannel("exec");
((ChannelExec) channel).setCommand(command);
// channel.setInputStream(System.in);
channel.setInputStream(null);
((ChannelExec) channel).setErrStream(System.err);
InputStream in = channel.getInputStream();
channel.connect();
,我有這樣的:
慶典:爲MyApplication:找不到命令
當試圖通過殼執行這個命令,作品精細。
不一定需要是JSCH,可以是任何東西。
這是否工作,如果你使用命令行ssh? 'ssh [email protected] myapplication someFileAsParameter' –
此外,它是否可以使用'ps'? –
當通過JSch登錄時,您確定該命令在PATH中嗎?我有一個模糊的感覺,這裏可能有登錄與非登錄shell問題。 – qid