Compter les sessions SSH?

8

Je trouve parfois le message suivant dans auth.log:

sshd[8888]: error: no more sessions

Dans sshd_config, j'ai défini "MaxStartups 300", et je ne devrais pas avoir presque autant de clients se connectant simultanément. Aux heures de pointe, je suppose que je pourrais avoir environ 50 à 60 connexions simultanées qui ne durent que quelques secondes lors du téléchargement / téléchargement d'un petit fichier via sftp.

Je soupçonne que certains clients ne ferment pas la connexion comme ils le devraient, et comme les connexions se produisent de manière répétée et assez fréquente (chaque client se connectant plusieurs fois par minute), cela pourrait s'additionner au fil du temps. Pour résoudre ce problème, je veux pouvoir compter les sessions SSH, mais je ne peux pas penser à une meilleure façon que de compter les connexions à l'aide de netstat:

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

Comme ce serait compter les connexions au lieu des sessions et je ne sais pas s'il y a un cas où la session vivrait, mais la connexion est fermée?

Y a-t-il une meilleure façon de compter les connexions actuelles, ou encore mieux d'imprimer l'état actuel de toutes les sessions?

Merci d'avance!

Avada Kedavra
la source
Est-ce que whocela éclaire la situation?
Chris S
Je ne sais pas pourquoi, mais les connexions via sftp ne semblent pas apparaître avec qui (pas même qui -a). Je dois admettre que j'avais oublié qui :)
Avada Kedavra

Réponses:

6

MaxStartups régit le nombre de "connexions non authentifiées simultanées" vers sshd, pas les sessions en tant que telles. (Si la limite est violée, il commence à abandonner les anciennes connexions)

Si vous n'avez pas déjà fourni une valeur explicite pour MaxSessions, elle sera par défaut à 10. (Peut-être que c'est ce que vous vouliez réellement définir?)

Vous pouvez voir la page de manuel de sshd_config pour plus de détails: http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config&sektion=5

Je ne vois pas que sshd lui-même dispose d'une fonction pour rapporter des statistiques du type dont vous parlez (même si je n'ai pas beaucoup recherché non plus.)

Cordialement, Sapp3r.

sapeurfaire
la source
Je n'ai actuellement pas de MaxSessions dans la configuration, donc cela pourrait très bien être le cas. Je vais vérifier et vous contacter. En attendant +1. À votre santé!
Avada Kedavra
Apparemment, il n'y a pas d'indicateur MaxSessions pour OpenSSH 4.7, il ne démarrera pas le service si je l'ai dans la configuration. OpenSSH 5.3, cependant, prend en charge cette option. Malheureusement, il s'agit d'un serveur de production et je ne serais pas à l'aise de mettre à niveau le package SSH.
Avada Kedavra
Bien que la réponse ne réponde pas vraiment à la question, elle pourrait résoudre le problème, alors acceptez mal cette réponse. Je suis en train de mettre à jour notre configuration, donc je ne sais pas si cela empêchera l'erreur dans auth.log, mais j'espère que ce sera le cas. Cheers '
Avada Kedavra
6

[Je réalise que c'est une très vieille question mais j'ajoute ceci pour la postérité.]

Le message "plus de sessions" s'applique aux connexions multiplexées, pas aux connexions séparées.

Il semble que ce soit #definele cas lors de la compilation avec les MAX_SESSIONSversions antérieures à 5.1, lorsque le paramètre MaxSessions a été introduit: http://www.openssh.com/txt/release-5.1

Sur RHEL5, au moins, il MAX_SESSIONSsemble avoir été porté à 20.

Wil Cooley
la source
tmux créerait-il des connexions multiplexées?
MikeyE