gpt4 book ai didi

java - 使用 Java Spring 通过 SSH 执行命令

转载 作者:行者123 更新时间:2023-11-30 03:00:57 25 4
gpt4 key购买 nike

我和一位同事正在开发一个 Web 应用程序来控制计算机集群。该计算机集群缺少 API,因此我们需要能够使用 Linux shell 通过 bash 脚本控制和添加“作业”。每个用户都有特定的时间在集群上运行应用程序,因此我们需要能够使用用户凭据通过 SSH 连接到系统,以便使用他们的用户帐户来提交作业。

Web 应用程序是使用 Spring 编写的。我们对使用 Java 通过 SSH 执行命令进行了一些研究,并找到了 Jcsh 模块。然而我们的问题是是否有一个 Spring 模块可以做到这一点。我们非常惊讶地发现我们找不到 SFTP 模块,因为 SFTP 模块已经存在并且(如果我错了,请纠正我)使用相同的协议(protocol)。

我们是否误读了文档,或者没有模块可以执行此操作?

非常感谢!

最佳答案

我真的不认为通过 Spring 直接调用 SSH 是一个好主意。

因为如果你想直接调用SSH,你需要将主机的密码存储到你的应用程序中,或者将私钥存储在你的应用程序中(也许这更好,因为你可以使用Java的 keystore 来保护你的私钥)

无论哪种方式,您都将使应用程序能够执行主机允许的任何操作(并且由于您可以通过运行命令来控制主机的应用程序,我认为这种用途具有很大的功能)。

这对于计算机集群来说可能非常危险。

如果你确实需要通过SSH调用功能,我建议你写一个小的原生应用程序(使用python或Java,任何你喜欢的),并设置你的应用程序的权限只能执行这个应用程序,这样更安全.

所以,在 Spring 中支持 SFTP 是明智的,因为这是一种非常有用的数据传输,但是让你的应用程序可以直接运行 SSH 是非常非常非常危险的,即使是在家里,相信我。

关于java - 使用 Java Spring 通过 SSH 执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35987772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com