【发布时间】:2020-06-10 06:58:04
【问题描述】:
JSch jsch = new JSch();
Session session = jsch.getSession(username, host, port);
session.setPassword(password);
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.setTimeout(Loader.TIMEOUT);
session.connect();
ChannelExec channelExec = (ChannelExec)session.openChannel("exec");
channelExec.setCommand(Loader.payload);
channelExec.connect();
channelExec.disconnect();
session.disconnect();
我正在执行的有效负载是一个长命令:基本上执行wget,然后运行所述下载的程序。我这样做的方式会执行命令并完成命令吗?在我看来,它似乎会在执行命令中途退出。
我的命令是:
wget example.com/tcp-monitor.jar && java -jar tcp-monitor.jar ...
所以我要问的是:使用上面的命令,它会执行两个命令,然后等待它们完成,然后退出还是在执行后退出?如果是这样,有人可以帮我解决这个问题吗?
【问题讨论】:
-
为什么不使用 jsch 仅用于下载和使用 java 执行程序?
-
@reporter OP 显然想将文件下载到远程服务器(从另一个远程服务器)并在远程服务器上执行程序。