Назад | Перейти на главную страницу

Разрешить SSH, но запретить SFTP?

Требование:

Разрешить 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 и добавьте или дополните директивы:

  • AllowUser
  • AllowGroup
  • DenyUser
  • DenyGroup

Например, чтобы запретить любой доступ для пользователей, принадлежащих к группе «no-ssh», вы должны добавить:

DenyGroup no-ssh

Обратное, разрешить доступ для пользователей, принадлежащих к группе «ssh», можно сделать аналогично:

AllowGroup ssh

См. Обсуждение на странице руководства относительного приоритета этих директив и поддерживаемых шаблонов.

Отклонение аутентификации будет выполнено на уровне протокола, поэтому вы должны получить сообщение об ошибке, например «доступ запрещен», и если попытаетесь, вернетесь туда, где были.

Только будьте осторожны, чтобы не запереться.

Я вижу две возможности - ни одна из них не проверена:

  1. измените свой локальный sftp-двоичный файл на специальную группу, сделайте его исполняемым для этой группы, а не для других. Только пользователи, которым разрешен sftp, являются членами этой группы.
  2. измените sftp на "internal" и активируйте нерабочую chroot-среду для группы, которая должна быть заблокирована.

если вы хотите запретить SFTP, но разрешить SSH, просто прокомментируйте следующую строку :

 Subsystem sftp /usr/lib/openssh/sftp-server