В какой-то момент пользователь перестал заходить на сервер по SSH. После ввода пароля просто получал shell request failed on channel 0.

В логах самого сервера нашёл строчку: fork failed: Resource temporarily unavailable.

Причина

В моём случае причина оказалось в том, что пользователь превысил лимит по запущенным процессам, значение которого равно 4096. Да и такой лимит можно превысить если отдать сервер разработчикам ПО.

Решение

Конечно в идеале нужно решить всё-таки почему разрабатываемое ПО создаёт столько процессов и возможно переписать ПО. Но мы то знаем, что заставить разработчика переписать что работает сродни подвигу железного человека в войне бесконечности.

Так вот самым простым решением будет просто увеличить этот лимит:

  1. Открываем файл 20-nproc.conf или 90-nproc.conf
     sudo vim /etc/security/limits.d/20-nproc.conf 
    
  2. Вносим правки и увеличиваем лимит на процессы
    # для конкретного пользователя
    user       soft    nproc     8096
    # для всех
    *          soft    nproc     6096