用于java的SSH库,它非常支持多线程!

时间:2011-04-05 06:43:44

标签: java multithreading

我正在搜索一个允许我创建的库,让我们说3个线程用于远程命令执行每个命令执行大约需要13分钟。你会建议使用什么ssh lib for java,哪些能够执行这样的任务? (免费的Maveric版本 - 未能愿意为完整的库支付2.4k $,现在使用ssh2进行战斗......)

1 个答案:

答案 0 :(得分:4)

我从个人经验中知道,只要为每个线程创建单独的SSH连接,JSch就可以正常工作。您还可以查看sshjGanymed SSH-2

以下是使用JSch执行远程命令的快速示例:

JSch jsch = new JSch();

Session session = jsch.getSession(user, host);
session.setConfig("StrictHostKeyChecking", "no");
session.setPassword(password);
session.connect(timeout);

Channel channel = session.openChannel("exec");
ChannelExec channelExec = (ChannelExec) channel;
channelExec.setCommand(command);
channel.connect();

// read channel.getInputStream() here if you want to capture the output

channel.disconnect();
session.disconnect();