Contar sessões SSH?

8

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

sshd[8888]: error: no more sessions

No sshd_config, configurei "MaxStartups 300" e não deveria ter tantos clientes se conectando simultaneamente. Nos horários de pico, acho que posso ter entre 50 e 60 conexões simultâneas, que duram apenas alguns segundos enquanto faz o download / download de um pequeno arquivo através do sftp.

Suspeito que talvez alguns dos clientes não estejam fechando a conexão como deveriam e, como as conexões acontecem repetidamente e com bastante frequência (cada cliente se conectando algumas vezes por minuto), isso pode aumentar com o tempo. Para solucionar isso, quero poder contar as sessões SSH, mas não consigo pensar em uma maneira melhor do que contar as conexões usando o netstat:

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

Como isso estaria contando conexões em vez de sessões e não tenho certeza se existe algum caso em que a sessão duraria, mas a conexão está fechada?

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

Desde já, obrigado!

Feitiço da morte
fonte
Será que wholançar alguma luz sobre a situação?
Chris S
Não sei por que, mas as conexões por sftp parecem não aparecer com quem (nem mesmo quem -a). Tenho que admitir, porém, eu tinha esquecido quem :) Felicidades!
Avada Kedavra

Respostas:

6

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

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

Você pode ver a página do manual para mais detalhes sobre sshd_config: http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config&sektion=5

Não vejo que o próprio sshd tenha a facilidade de reportar estatísticas do tipo sobre o qual você está perguntando (embora eu também não tenha pesquisado muito sobre isso).

Atenciosamente, Sapp3r.

sapeurfaire
fonte
Atualmente, não tenho MaxSessions na configuração, por isso pode muito bem ser o caso. Vou dar uma olhada e voltar para você. Enquanto isso, +1. Felicidades!
Avada Kedavra
Aparentemente, não existe o sinalizador MaxSessions para o OpenSSH 4.7, ele não iniciará o serviço se eu tiver isso na configuração. O OpenSSH 5.3, no entanto, suporta esta opção. Infelizmente, este é um servidor de produção e não me sinto confortável em atualizar o pacote SSH.
Avada Kedavra
Embora a resposta realmente não responda à pergunta, pode resolver o problema, por isso não aceitarei essa resposta. Estou no meio da atualização de nossa instalação, portanto, não tenho certeza se isso evitará o erro no auth.log, mas espero que sim. Cheers '
Avada Kedavra
6

[Percebo que essa é uma pergunta muito antiga, mas estou adicionando esta para a posteridade.]

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

Parece estar #defineem tempo de compilação MAX_SESSIONSpara versões anteriores à 5.1, quando a configuração MaxSessions foi introduzida: http://www.openssh.com/txt/release-5.1

No RHEL5, pelo menos, MAX_SESSIONSparece ter sido aumentado para 20.

Wil Cooley
fonte
o tmux criaria conexões multiplexadas?
5309 MikeyE