2016-03-13 33 views
-1

我已經把自己變成了一種需要重用JSch現有會話的情況。我需要一個shell頻道和一個SFTP頻道來共享相同的連接。是否可以在JSch實現中實現ControlMaster?如果是這樣,我需要設置哪些選項?它會像其他OpenSSH實現一樣嗎?是否可以將ControlMaster添加到JSch連接?

回答

1

Jsch支持通過單個會話(TCP連接到遠程SSH服務器)打開多個通道。因此,如果Jsch會話只需要在同一個程序的不同部分之間共享,那麼實現起來並不困難。

OpenSSH ControlMaster功能允許ssh客戶端通過控制套接字與外部程序共享其ssh會話。截至目前,jsch並不直接支持這樣的事情。如果你想讓你的jsch客戶端擁有這樣的功能,你必須自己實現它。

OpenSSH有自己的協議,通過ControlMaster套接字進行通信。如果你希望你的實現與OpenSSH互操作,你可以實現相同的協議。該協議記錄在一個名爲「PROTOCOL.mux」的文件中,該文件包含在OpenSSH源代碼中。您也可以通過互聯網搜索名稱在線查找副本。

相關問題