java 的 SSH 库很好地支持多线程!

发布于 2024-10-30 11:37:36 字数 146 浏览 1 评论 0原文

我正在寻找一个库,它允许我创建 3 个线程来执行远程命令,每个命令执行大约需要 13 分钟。您建议使用什么 java ssh lib 来执行这样的任务? (免费的 Maveric 版本 - 失败了,不愿意为完整的库支付 2.4k$,现在正在使用 ssh2 进行战斗......)

I'm searching for a library that would allow me to create lets say 3 threads for remote command execution each command to execute takes ~13 min. What ssh lib for java would you suggest, which would be able to perform such a task? (free Maveric version - failed not willing to pay 2.4k$ for full library, now fighting using ssh2...)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夏至、离别 2024-11-06 11:37:36

根据个人经验,我知道 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();

I know from personal experience that JSch works fine for this as long as you create a separate SSH connection for each thread. There's also sshj and Ganymed SSH-2 that you might want to check out.

Here's a quick example of remote command execution with 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();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文