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

Connecting to server via SSH using Java - JSch and issuing shell commands

我正在尝试编写一个程序,使用 Java.

通过 SSH 连接到远程 Linux 服务器

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

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

如果要实现交互shell,需要使用SSH“shell”通道。

JSch 有一个简单的例子展示了如何做到这一点:
http://www.jcraft.com/jsch/examples/Shell.java.html

不过请注意,完全实现交互式 shell 是一项艰巨的工作。因此,您可能会发现像上面这样的简单实现不会像您希望的那样工作。

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