有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法从Servlet执行SSH

我正在构建一个web服务(Sevlets),它使用SSH从其他远程服务器获取信息。 为了简单起见,我选择使用ApacheCommonsExec库来执行ssh,而不是使用类似于Java的JSch中的ssh客户端实现。 此实现在我的开发环境中运行良好,但当我将其部署到远程web服务器(带有OpenSSH客户端的Red Hat服务器)时,它会失败并显示错误消息

ssh_exchange_identification: Connection closed by remote host

但是,当我使用ssh连接到web服务器并重新启动ApacheTomcat deamon时,servlet代码中的ssh会一直工作,直到我终止与web服务器的ssh会话,然后由于上面的消息而失败

PS:我希望尽量避免使用JavaSSH客户机实现,因为我的环境中的SSH设置不是直接的,它涉及到设置隧道。 这样的设置已经使用ssh配置文件完成,因此我希望尽可能多地使用现有的设置


共 (1) 个答案

  1. # 1 楼答案

    请查看[Ganymed SSH库](http://www.ganymed.ethz.ch/ssh2/)是否能帮助您。我在我的一个项目中使用过它,并且发现它简单而有用