Спроба переконати окремий 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
, і я вважаю, що існує спосіб обмежити кількість примірників служби. Вправа, що залишилася читачеві (або додайте коментар із деталями!).