Считать SSH сессии?

8

Иногда я нахожу следующее сообщение в auth.log:

sshd[8888]: error: no more sessions

В sshd_config я установил «MaxStartups 300», и у меня не должно быть почти столько же клиентов, соединяющихся одновременно. В напряженное время я предполагаю, что у меня может быть около 50-60 одновременных подключений, которое длится всего пару секунд при загрузке / загрузке небольшого файла через sftp.

Я подозреваю, что, возможно, некоторые клиенты не закрывают соединение должным образом, и, поскольку соединения происходят постоянно и довольно часто (каждый клиент подключается несколько раз в минуту), со временем это может сложиться. Чтобы устранить эту проблему, я хочу иметь возможность подсчитывать сеансы SSH, но я не могу придумать лучшего способа, чем подсчет соединений с помощью netstat:

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

Поскольку это будет подсчитывать соединения вместо сеансов, и я не уверен, если есть случай, когда сеанс будет жить, но соединение закрыто?

Есть ли лучший способ подсчета текущих подключений или даже лучше распечатать текущее состояние всех сеансов?

Заранее спасибо!

Авада Кедавра
источник
Есть ли whoпролить свет на ситуацию?
Крис С
Не знаю почему, но соединения через sftp, похоже, не обнаруживаются с кем (даже с кем -a). Должен признаться, хотя, я забыл о том, кто :) Ура!
Авада Кедавра

Ответы:

6

MaxStartups управляет количеством «одновременных неаутентифицированных соединений» с sshd, а не сессиями как таковыми. (Если лимит нарушается, он начинает сбрасывать старые соединения)

Если вы еще не предоставили явное значение для MaxSessions, по умолчанию оно будет равно 10. (Возможно, это то, что вы на самом деле имели в виду, что вы бы задали?)

Вы можете просмотреть страницу руководства для sshd_config более подробно: http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config&sektion=5

Я не вижу, чтобы в самом sshd была возможность сообщать статистику того типа, о котором вы спрашиваете (хотя я тоже не слишком много ее исследовал).

С уважением, Sapp3r.

sapeurfaire
источник
У меня в данный момент нет MaxSessions в конфиге, так что вполне может быть так. Я проверю это и вернусь к вам. Тем временем +1. Ура!
Авада Кедавра
Очевидно, что для OpenSSH 4.7 нет флага MaxSessions, он не запустит службу, если у меня это есть в конфигурации. OpenSSH 5.3, однако, поддерживает эту опцию. К сожалению, это рабочий сервер, и мне было бы неудобно обновлять пакет SSH.
Авада Кедавра
Хотя ответ на самом деле не отвечает на вопрос, он может решить проблему, поэтому я не приму этот ответ. Я нахожусь в процессе обновления нашей установки, поэтому я не уверен, предотвратит ли это ошибку в auth.log, но я надеюсь, что так и будет. Приветствия »
Авада Кедавра
6

[Я понимаю, что это очень старый вопрос, но я добавляю его для потомков.]

Сообщение «больше нет сеансов» применяется к мультиплексным соединениям, а не к отдельным соединениям.

Похоже, что это было #defineво время компиляции с MAX_SESSIONSверсиями до 5.1, когда был введен параметр MaxSessions : http://www.openssh.com/txt/release-5.1

На RHEL5, по крайней мере, MAX_SESSIONSпохоже, было увеличено до 20.

Уил Кули
источник
tmux создаст мультиплексные соединения?
MikeyE