使用Java-JSch通过SSH通过服务器连接到服务器并发出Shell命令

时间:2020-10-02 03:46:58

标签: java ssh jsch

我正在尝试编写一个程序,该程序使用Java通过SSH连接到远程Linux服务器。

我已经在网上找到了许多使用JSch软件包进行此操作的示例,但是它们大多用于在身份验证后立即向服务器发出单个命令。

但是,有什么方法可以首先通过SSH服务器进行身份验证,然后通过连接从用户输入发出命令,就像通过远程shell进行操作一样?

1 个答案:

答案 0 :(得分:1)

如果要实现交互式外壳,则需要使用SSH“外壳”通道。

JSch有一个简单的示例显示了如何执行此操作:
http://www.jcraft.com/jsch/examples/Shell.java.html

尽管要注意,完全实现交互式外壳是一项巨大的工作。因此,您可能会发现像上面这样的简单实现无法按您希望的那样工作。

有关某些背景,另请参见:
What is the difference between the 'shell' channel and the 'exec' channel in JSch