¿Cuenta las sesiones de SSH?

8

A veces encuentro el siguiente mensaje en auth.log:

sshd[8888]: error: no more sessions

En sshd_config he configurado "MaxStartups 300", y no debería tener tantos clientes conectados simultáneamente. En momentos de mucho trabajo, supongo que podría tener unas 50-60 conexiones simultáneas que solo duran un par de segundos mientras se carga / descarga un pequeño archivo a través de sftp.

Sospecho que es posible que algunos clientes no cierren la conexión como deberían, y como las conexiones suceden de forma repetitiva y bastante frecuente (cada cliente se conecta varias veces por minuto), podría acumularse con el tiempo. Para solucionar este problema, quiero poder contar las sesiones SSH, pero no puedo pensar en una mejor manera que contar las conexiones usando netstat:

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

Como esto sería contar conexiones en lugar de sesiones y no estoy seguro de si hay un caso en el que la sesión viviría, pero la conexión está cerrada.

¿Hay alguna forma mejor de contar las conexiones actuales, o incluso mejor imprimir el estado actual de todas las sesiones?

¡Gracias por adelantado!

Avada Kedavra
fuente
¿ whoArroja alguna luz sobre la situación?
Chris S
No estoy seguro de por qué, pero las conexiones a través de sftp no parecen aparecer con quién (ni siquiera con quién -a). Sin embargo, tengo que admitir que me había olvidado de quién :) ¡Salud!
Avada Kedavra

Respuestas:

6

MaxStartups gobierna el número de "conexiones concurrentes no autenticadas" a sshd, no sesiones como tales. (Si se viola el límite, comienza a soltar conexiones más antiguas)

Si aún no ha proporcionado un valor explícito para MaxSessions, el valor predeterminado será 10. (¿Quizás eso es lo que realmente quiso decir que establecería?)

Puede ver la página de manual para sshd_config más detalles: http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config&sektion=5

No veo que sshd en sí mismo tenga la facilidad de informar estadísticas del tipo sobre el que estás preguntando (aunque tampoco lo investigué demasiado).

Saludos, Sapp3r.

sapeurfaire
fuente
Actualmente no tengo MaxSessions en la configuración, por lo que este podría ser el caso. Lo comprobaré y te responderé. Mientras tanto +1. ¡Salud!
Avada Kedavra
Aparentemente no hay un indicador de MaxSessions para OpenSSH 4.7, no iniciará el servicio si tengo esto en la configuración. OpenSSH 5.3, sin embargo, admite esta opción. Desafortunadamente, este es un servidor de producción, y no me sentiría cómodo para actualizar el paquete SSH.
Avada Kedavra
Si bien la respuesta realmente no responde a la pregunta, podría resolver el problema, por lo que aceptaré esta respuesta. Estoy a punto de actualizar nuestra configuración, por lo que no estoy seguro de si esto evitará el error en auth.log, pero espero que lo haga. Cheers '
Avada Kedavra
6

[Me doy cuenta de que esta es una pregunta muy antigua, pero la agrego para la posteridad.]

El mensaje "no más sesiones" se aplica a conexiones multiplexadas, no a conexiones separadas.

Parece estar #defineen tiempo de compilación con MAX_SESSIONSversiones anteriores a 5.1, cuando se introdujo la configuración MaxSessions : http://www.openssh.com/txt/release-5.1

En RHEL5, al menos, MAX_SESSIONSparece haber aumentado a 20.

Wil Cooley
fuente
¿Crearía tmux conexiones multiplexadas?
MikeyE