【问题标题】:Unable to perform SSH from a Servlet无法从 Servlet 执行 SSH
【发布时间】:2014-01-30 15:42:05
【问题描述】:

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

ssh_exchange_identification:连接被远程主机关闭

但是,当我通过 ssh 连接到 Web 服务器并重新启动 Apache Tomcat 守护程序时,我的 servlet 代码中的 SSH 会一直工作,直到我终止与 Web 服务器的 SSH 会话,然后失败并显示上述消息。

PS:我宁愿尽可能避免使用 Java SSH 客户端实现,因为在我的环境中设置 ssh 并不简单,它涉及设置隧道。 此类设置已使用 ssh 配置文件完成,因此我希望尽可能使用现有设置。

【问题讨论】:

    标签: java servlets ssh apache-commons openssh


    【解决方案1】:

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

    【讨论】:

    • @Idris 如果我无法解决这个问题,我会使用 Java SSH 客户端实现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-31
    相关资源
    最近更新 更多