Отключить учетные записи и распечатать информацию о попытке входа в систему

Другие люди заходят в мой малиновый пи через SSH. Он запускает Ubuntu Mate 16.04 с OpenSSH. Я хочу отключить некоторые из учетных записей, но не удалять их.

Теперь я могу просто удалить пароли (что, очевидно, имеет недостаток в том, что нужно снова установить способ установки пароля, если я не изменю вручную содержимое теневого файла, которое выглядит как действительно плохая идея) учетных записей I хотите отключить и переименовать файлы ~/.ssh/authorized_keys чтобы они не могли войти в систему. Однако я хотел бы, чтобы на своих консолях было сообщение об ошибке при попытке входа в систему, описывая, почему я отключил их учетные записи. Сообщение одинаково для всех отключенных учетных записей.

Кажется, есть простой способ отключить логин SSH для целых групп, что означает, что я могу просто добавить пользователей, которых я хочу отключить для определенной группы, и отключить логин SSH для этой группы. Однако это не выводит на экран сообщение, которое я хочу показать на своих консолях.

Я знаю, как отправить сообщение на консоль пользователя, когда они вошли в систему. Но цель здесь, конечно же, в том, что они не доходят до этого.

Поскольку у пользователей нет физического доступа к моей малиновой Pi, мне все равно, полностью ли отключены учетные записи, или просто невозможно войти в них через SSH. Я не забочусь о том, чтобы пользователь переключился на другую учетную запись через su позже, потому что в любом случае это может сделать только root и моя учетная запись пользователя.

Ну … один из возможных ответов – изменить оболочку пользователя в /sbin/nologin . Это позволит аутентифицировать, а затем сказать

 This account is currently not available. 

(если /sbin/nologin находится в /etc/shells )

В противном случае вы можете использовать аналогичный подход, как связанная статья с ForceCommand :

 Match Group disabled_group # or User disabled_user ForceCommand echo "This account is disabled"