JSch中每个会话可以打开多少个频道?我试图打开的cannels类型为“ChannelShell”
我收到“com.jcraft.jsch.JSchException:频道未打开”。当我尝试打开第11个频道即频道[10]这是否意味着每个会话最多可以有10个频道?
P.S。我不明白如何达到stackoverflow的质量标准。
答案 0 :(得分:4)
OpenSSH的sshd有这样的限制,只能同时允许10个频道, 最近它的sshd将标志'MaxSession'引入了sshd_config。
请参阅“man sshd_config”,
MaxSessions
Specifies the maximum number of open sessions permitted per net-
work connection. The default is 10.
答案 1 :(得分:1)
不应该有限制(除了你的VM中可用的内存/线程数,Integer.MAX_VALUE以及服务器支持的内容)。
我想我最近看到过类似的错误(虽然只有一个频道) - 原因是一些竞争条件,它在最新版本中得到了解决(0.1.45-RC4,linked from the mailing list)
尝试用最新的jsch.jar替换你的jsch.jar,并检查问题是否仍然存在。 (看起来0.1.45-RC5是最新的。)如果它仍然存在,请尝试创建一个最小的示例,以便我们可以重现它。