微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

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

解决方法

如果要实现交互式外壳,则需要使用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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。