Попытка убедить автономного sshdдемона ограничить количество сеансов чревата лазейками. Такие вещи, как MaxSessionsограничение, ограничивают то, о чем говорит ОП. И sshdигнорирует limits.confв linux (аналогично login.confво FreeBSD), если вы не настроите все правильно для маршрутизации всех входящих сессий через PAM и не будете использовать соответствующим образом настроенный модуль PAM для проверки таких вещей, как limit.conf. Трудно заставить его работать правильно.
С другой стороны, если вы не начинаете sshdкак отдельный демон, вы можете использовать ограничивающие функции в «вещи», которая появляется sshdпо требованию.
Например, inetdи xinetdимеют функцию ограничения соединения (которая по умолчанию обычно не устанавливает никаких ограничений на количество разветвленных дочерних элементов). В классике inetdэто называется «Макс-ребенок». С помощью xinetdнайдите instancesручку настройки. Например, inetdстиль:
ssh stream tcp nowait/3 root /usr/sbin/sshd sshd -i -4
Это ограничивает количество одновременных соединений SSH до 3.
Для тех, кто так склонен, systemdможет заменить функцию inetd, и я считаю, что есть способ ограничить количество экземпляров службы. Упражнение оставлено читателю (или добавьте комментарий с подробностями!).