是否可以将ControlMaster添加到JSch连接?

时间:2016-03-13 20:00:28

标签: java ssh jsch

我已经陷入了需要重用JSch现有会话的情况。我需要一个shell频道和一个SFTP频道来共享同一个连接。是否可以在JSch实现中实现ControlMaster?如果是这样,我需要设置哪些选项?它会像任何其他OpenSSH实现一样吗?

1 个答案:

答案 0 :(得分:1)

Jsch支持通过单个会话(与远程SSH服务器的TCP连接)打开多个通道。因此,如果Jsch会话只需要在同一个程序的不同部分之间共享,那就不难实现了。

OpenSSH ControlMaster功能允许ssh客户端通过控制套接字与外部程序共享其ssh会话。截至目前,jsch并没有直接支持这样的事情。如果您希望您的jsch客户端具有此功能,您必须自己实现它。

OpenSSH有自己的协议,可通过ControlMaster套接字进行通信。如果您希望实现与OpenSSH进行互操作,则可以实现相同的协议。该协议记录在名为" PROTOCOL.mux"的文件中。它包含在OpenSSH源代码中。您还可以通过Internet搜索名称在线查找副本。