Tentar convencer um sshd
daemon independente a limitar o número de sessões é repleto de brechas. Coisas como MaxSessions
limitar algo diferente do que o OP está falando. E sshd
ignora limits.conf
no linux (da mesma forma que login.conf
no FreeBSD), a menos que você configure as coisas corretamente para rotear todas as sessões recebidas pelo PAM e use o módulo PAM configurado adequadamente para verificar coisas como limits.conf primeiro. É difícil fazê-lo funcionar corretamente.
Por outro lado, se você não iniciar sshd
como um daemon independente, poderá usar os recursos limitadores da "coisa" que gera sshd
sob demanda.
Por exemplo, inetd
e xinetd
possui um recurso de limitação de conexão (que normalmente não impõe nenhum limite ao número de filhos bifurcados). No clássico inetd
, chama-se "max-child". Com xinetd
, procure o instances
botão de configuração. Por exemplo, inetd
estilo:
ssh stream tcp nowait/3 root /usr/sbin/sshd sshd -i -4
Isso limita o número de conexões ssh simultâneas a 3.
Para quem é tão inclinado, systemd
pode substituir a função de inetd
, e acredito que existe uma maneira de limitar o número de instâncias de um serviço. Exercite para o leitor (ou adicione um comentário com os detalhes!).