Требование:
Разрешить SSH, но запретить SFTP для определенной группы пользователей. После запрета, если группа пользователей пытается получить доступ к SFTP, это не должно быть разрешено, и все соединения должны быть закрыты, а пользователь должен получить приглашение обратно.
Текущая ситуация:
Я могу запретить определенную группу пользователей, используя Match
блок и Forcecommand
. Но не может вернуть приглашение после сбоя входа в систему.
Пример:
abcd> sftp usergroup@X.X.X.X [Does not allow but it remains in a hang state]
Необходимо нажать Ctrl C, чтобы вернуться к приглашению (abcd>)
Ожидание:
abcd> sftp usergroup@X.X.X.X [Fails next line prompt should be back]
abcd>
Я хочу знать, возможно ли это, если да, поделитесь своими впечатлениями.
Не обращая внимания на заголовок вопроса и вместо этого сосредотачиваясь на вопросе в комментариях:
Соответствующая группа пользователей не должна иметь доступа. Это требование в целях безопасности.
есть довольно простое решение. Предполагая OpenSSH (другое программное обеспечение должно иметь аналогичные параметры конфигурации), отредактируйте / etc / ssh / sshd_config и добавьте или дополните директивы:
Например, чтобы запретить любой доступ для пользователей, принадлежащих к группе «no-ssh», вы должны добавить:
DenyGroup no-ssh
Обратное, разрешить доступ для пользователей, принадлежащих к группе «ssh», можно сделать аналогично:
AllowGroup ssh
См. Обсуждение на странице руководства относительного приоритета этих директив и поддерживаемых шаблонов.
Отклонение аутентификации будет выполнено на уровне протокола, поэтому вы должны получить сообщение об ошибке, например «доступ запрещен», и если попытаетесь, вернетесь туда, где были.
Только будьте осторожны, чтобы не запереться.
Я вижу две возможности - ни одна из них не проверена:
если вы хотите запретить SFTP, но разрешить SSH, просто прокомментируйте следующую строку :
Subsystem sftp /usr/lib/openssh/sftp-server