2011-08-04 12 views
7

¿Hay un límite de cuántos canales se pueden abrir por sesión en JSch? Los canales que intento abrir son del tipo "ChannelShell"¿Hay un límite de cuántos canales se pueden abrir por sesión en JSch?

Obtengo una "com.jcraft.jsch.JSchException: el canal no está abierto". excepción cuando trato de abrir el undécimo canal, es decir, el canal [10] ¿Esto significa que puedo tener hasta 10 canales por sesión?

P.S. No entiendo cómo cumplir con los estándares de calidad de stackoverflow.

Respuesta

1

No debe haber un límite (excepto por el recuento de memoria/subprocesos disponible en su VM, Integer.MAX_VALUE y lo que el servidor admite).

Creo que he visto un error similar últimamente (con un solo canal, sin embargo) - la razón era alguna condición de carrera, y se resolvió en la última versión (0.1.45-RC4, linked from the mailing list).

Intente reemplazar su jsch.jar con el último y verifique si el problema aún aparece. (Parece que 0.1.45-RC5 es la última). Si aún ocurre, intente crear un ejemplo mínimo para que podamos reproducirlo.

+0

puedo obtener sólo el .jar de alguna parte? no puedo entender cómo importar las clases –

+0

nvm ... el mismo error ...; ( –

+0

Entonces, necesitamos un [SSCCE] (http://sscce.org/). –

4

El sshd de OpenSSH tenía tal restricción para permitir solo 10 canales simultáneamente, y recientemente su sshd introdujo la bandera 'MaxSession' en sshd_config.

Consulte "man sshd_config",

MaxSessions 
     Specifies the maximum number of open sessions permitted per net- 
     work connection. The default is 10. 
+0

Jsch es una implementación completa de SSH2 y no solo un contenedor para Linux nativo ssh. Por lo tanto, no depende directamente de la información sshd_config o de cualquier otro paquete ssh instalado . – Prometheus

Cuestiones relacionadas