SSH-Sitzungen zählen?

8

Ich finde manchmal die folgende Nachricht in auth.log:

sshd[8888]: error: no more sessions

In sshd_config habe ich "MaxStartups 300" festgelegt, und ich sollte nicht annähernd so viele Clients gleichzeitig verbinden. In geschäftigen Zeiten könnte ich ungefähr 50-60 gleichzeitige Verbindungen haben, was nur ein paar Sekunden dauert, während ich eine kleine Datei über SFTP hochlade / herunterlade.

Ich vermute, dass einige der Clients die Verbindung möglicherweise nicht so schließen, wie sie sollten, und da die Verbindungen wiederholt und recht häufig hergestellt werden (jeder Client stellt einige Male pro Minute eine Verbindung her), kann sich dies im Laufe der Zeit summieren. Um dies zu beheben, möchte ich in der Lage sein, die SSH-Sitzungen zu zählen, aber ich kann mir keinen besseren Weg vorstellen, als die Verbindungen mit netstat zu zählen:

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

Da dies Verbindungen anstelle von Sitzungen zählen würde und ich nicht sicher bin, ob es einen Fall gibt, in dem die Sitzung stattfinden würde, die Verbindung jedoch geschlossen ist?

Gibt es eine bessere Möglichkeit, die aktuellen Verbindungen zu zählen oder den aktuellen Status aller Sitzungen noch besser auszudrucken?

Danke im Voraus!

Avada Kedavra
quelle
Gibt es whoLicht in die Situation?
Chris S
Ich weiß nicht warum, aber Verbindungen über SFTP scheinen sich nicht mit wem zu zeigen (nicht einmal mit wem -a). Ich muss allerdings zugeben, ich hatte vergessen wer :) Prost!
Avada Kedavra

Antworten:

6

MaxStartups regelt die Anzahl der "gleichzeitigen nicht authentifizierten Verbindungen" zu sshd, nicht zu Sitzungen als solchen. (Wenn das Limit verletzt wird, werden ältere Verbindungen getrennt.)

Wenn Sie noch keinen expliziten Wert für MaxSessions angegeben haben, wird standardmäßig 10 verwendet. (Vielleicht haben Sie damit tatsächlich gemeint, dass Sie diesen Wert festlegen würden?)

Weitere Informationen finden Sie in der Manpage zu sshd_config: http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config&sektion=5

Ich sehe nicht, dass sshd selbst eine Möglichkeit hat, Statistiken des Typs zu melden, nach dem Sie fragen (obwohl ich es auch nicht viel recherchiert habe.)

Grüße, Sapp3r.

Sapeurfaire
quelle
Ich habe derzeit keine MaxSessions in der Konfiguration, daher kann dies durchaus der Fall sein. Ich werde es überprüfen und mich bei Ihnen melden. In der Zwischenzeit +1. Prost!
Avada Kedavra
Anscheinend gibt es kein MaxSessions-Flag für OpenSSH 4.7. Es startet den Dienst nicht, wenn ich dies in der Konfiguration habe. OpenSSH 5.3 unterstützt diese Option jedoch. Leider ist dies ein Produktionsserver, und ich würde das SSH-Paket nicht gerne aktualisieren.
Avada Kedavra
Während die Antwort die Frage nicht wirklich beantwortet, könnte sie das Problem lösen, also werde ich diese Antwort nicht akzeptieren. Ich bin gerade dabei, unser Setup zu aktualisieren, daher bin ich mir nicht sicher, ob dies den Fehler in auth.log verhindern wird, aber ich hoffe, dass dies der Fall ist. Cheers '
Avada Kedavra
6

[Mir ist klar, dass dies eine sehr alte Frage ist, aber ich füge dies für die Nachwelt hinzu.]

Die Meldung "Keine weiteren Sitzungen" gilt für Multiplexverbindungen, nicht für separate Verbindungen.

Es scheint zur #defineKompilierungszeit mit MAX_SESSIONSfür Versionen vor 5.1 zu sein, als die MaxSessions- Einstellung eingeführt wurde: http://www.openssh.com/txt/release-5.1

Zumindest bei RHEL5 MAX_SESSIONSscheint es auf 20 erhöht worden zu sein.

Wil Cooley
quelle
Würde tmux Multiplex-Verbindungen herstellen?
MikeyE