Limitações de conexão SSH

3

Eu tenho uma rede de 100 máquinas, todas com o Ubuntu Linux.

Existe um limite para o número de máquinas que podem se conectar a uma única máquina (ao mesmo tempo)?

Por exemplo, posso ter 99 das minhas máquinas mantendo conexão ssh contínua com a 100ª máquina? Posso ter cada uma das minhas máquinas (cada uma das 100) manter uma conexão ssh contínua com todas as outras 99 máquinas?

Quanta memória cada uma dessas conexões leva?

    
por user74781 04.04.2011 / 17:41

2 respostas

7

O número total de conexões é limitado principalmente pelo número de portas nas quais eles podem entrar e pela capacidade do sistema. Existem opções de configuração (Max_Sessions e Max_Startup), mas elas se aplicam apenas ao número de conexões de um único IP, e o número de conexões simultâneas de inicialização solicitadas ... Basicamente, elas são de proteção DDOS.

Não há uma maneira fácil de saber a quantidade de memória que uma conexão vai usar: depende totalmente da quantidade de tráfego. Uma conexão extremamente utilizada pode usar mais recursos do que 10.000 conexões que não estão fazendo nada.

Tudo o que foi dito, é quase sempre uma idéia melhor ter as conexões estabelecidas quando elas são necessárias e fechadas quando não são.

    
por 04.04.2011 / 18:01
3

Eu acho que você pode. Eu rotineiramente tenho 3 ou mais na minha casa, e no meu escritório podemos ter até 10. Só depende do que o seu computador aguenta.

Existem configurações no sshd_config que talvez você precise alterar. Aqui está um link para a página de manual . É encontrado em /etc/ssh/sshd_config . O padrão é 10. Você precisará aumentar isso.

Eu encontrei este recurso que falou sobre como aumentar o máximo. Aqui está uma pequena explicação:

  • /proc/sys/net/core/somaxconn - conexões TCP máximas (o SSH se conecta ao TCP)
  • /proc/sys/net/core/netdev_max_backlog - não é grande coisa, essa é a fila máxima de pacotes

Você pode apenas editar esses números se precisar aumentá-los. Meu padrão somaxconn é 128, então você deve ser bom.

EDITAR:

Outras opções

Use websockets com o NodeJS.

Isso deve começar. Se você não quer aprender a usar websockets, basta enviar solicitações HTTP Post para um servidor web. Eles não têm muita sobrecarga e você pode enviar muitos dados dessa maneira. Eu pessoalmente optaria pelos websockets porque eles são em tempo real e não são muito difíceis de configurar.

    
por 04.04.2011 / 18:02