Contagem de sessões SSH?

6

Às vezes, encontro a seguinte mensagem no auth.log:

sshd[8888]: error: no more sessions

Em sshd_config eu configurei "MaxStartups 300", e eu não deveria ter quase tantos clientes se conectando simultaneamente. Nos horários de maior movimento, eu acho que eu poderia ter cerca de 50-60 conexões simultâneas que duram apenas alguns segundos enquanto eu faço o download de um arquivo pequeno através do sftp.

Eu suspeito que talvez alguns dos clientes não estejam fechando a conexão como deveriam, e como as conexões acontecem de maneira repentina e bastante frequente (cada cliente conectando algumas vezes por minuto), isso pode estar aumentando com o tempo. Para solucionar isso, quero poder contar as sessões SSH, mas não consigo pensar em nenhuma maneira melhor do que contar as conexões usando o netstat:

netstat -an | grep 123.456.789.abc:22 | wc -l

Como isso seria contar as conexões em vez das sessões e não tenho certeza se há um caso em que a sessão viveria, mas a conexão está fechada?

Existe alguma maneira melhor de contar as conexões atuais ou, melhor ainda, imprimir o estado atual de todas as sessões?

Obrigado antecipadamente!

    
por Avada Kedavra 20.09.2010 / 16:16

2 respostas

4

O MaxStartups controla o número de "conexões não autenticadas simultâneas" para sshd, não para sessões como essas. (Se o limite for violado, ele começará a perder conexões mais antigas)

Se você ainda não forneceu um valor explícito para MaxSessions, o padrão será 10. (Talvez seja isso o que você realmente quis dizer que definiria?)

Você pode ver a página man do sshd_config mais detalhes: link

Eu não vejo que o próprio sshd tenha uma facilidade para relatar estatísticas do tipo que você está perguntando (embora eu também não tenha pesquisado muito sobre isso).

Atenciosamente, Sapp3r.

    
por 21.09.2010 / 00:13
3

[Eu percebo que esta é uma pergunta muito antiga, mas estou adicionando isso para a posteridade.]

A mensagem "no more sessions" aplica-se a conexões multiplexadas, não a conexões separadas.

Parece ser #define em tempo de compilação com MAX_SESSIONS para versões anteriores à 5.1, quando a configuração MaxSessions foi introduzida: link

No RHEL5, pelo menos, MAX_SESSIONS parece ter sido aumentado para 20.

    
por 12.04.2012 / 17:39

Tags