O Windows Open SSH Server não pode suportar mais de 50 sessões ssh simultâneas

1

Estou tentando configurar um servidor Windows OpenSSH (v1.0.0.0-Beta) e estou com um problema.

Eu tenho um programa que usa plink para criar conexões ssh. Isso pode variar de 1-200 conexões e tenho certeza que isso deve ser seguro. No entanto, quando eu fiz 50, EXATAMENTE 50 conexões ssh, o servidor ssh começa a rejeitar as conexões e olhando para os logs, ele mostra que o posix_spawn falhou e não pode mais instanciar processos filhos para manipular as conexões

Eu tentei isso link e não fez nada por isso. Eu realmente aprecio sua ajuda. Obrigada!

Aqui está o log de erros quando a 51ª conexão é feita

1656 2018-03-05 16:08:05.610 debug3: fd 5 is not O_NONBLOCK
1656 2018-03-05 16:08:05.610 debug3: spawning "C:\OpenSSH\sshd.exe" "-R"
1656 2018-03-05 16:08:05.610 error: posix_spawn failed
1656 2018-03-05 16:08:05.610 debug3: send_rexec_state: entering fd = 8 config len 357
1656 2018-03-05 16:08:05.610 debug3: ssh_msg_send: type 0
1656 2018-03-05 16:08:05.610 debug3: send_rexec_state: done
1656 2018-03-05 16:08:05.610 debug3: ReadFileEx() ERROR:109, io:00000010C2BF98B0

Aqui está minha configuração

Subsystem   sftp    sftp-server.exe
LogLevel Debug3
AllowAgentForwarding yes
AllowTcpForwarding yes
GatewayPorts yes
TCPKeepAlive yes
MaxStartups 1000
PasswordAuthentication yes
PermitTTY yes
PidFile C:/ProgramData/ssh/sshd.pid
MaxSessions 1000
    
por Kaizer69 05.03.2018 / 23:10

2 respostas

0

Então, abri um problema para isso em sua página do github e recebi uma resposta infeliz,

Aparentemente, esse é um limite embutido no código, já que as janelas não podem ter mais identificadores por thread, e não querem passar por vários threads e torná-lo mais complicado. Anexei um link abaixo para a questão do github

Aqui está a resposta deles

Ultimately, all these child process handles will be fed in a WaitForMultipleObjects call (as part of wait_for_any_event()) and that Win32 API call has a limitation of 64 handles. I had to pick a number less than this to accommodate other events (that of async accept and connect calls). Going beyond these limits will result in multi a threaded POSIX compat layer that will make it more complex and less resilient.

Github Link

    
por 07.03.2018 / 15:14
0

O SSH Bitvise pode potencialmente lidar com mais de 50 usuários simultâneos: link

Não pertença ao BitVise, mas tentei o OpenSSH a partir do MS, MobaSSH, e o servidor SSH BitVise teve a melhor experiência fora da caixa

    
por 11.03.2018 / 23:59