В Linux (Debian Squeeze) я хотел бы отключить SSH-вход с использованием пароля для некоторых пользователей (выбранной группы или всех пользователей, кроме root). Но я не хочу отключать вход с использованием сертификата для них.
редактировать: большое спасибо за подробный ответ! По какой-то причине это не работает на моем сервере:
Match User !root
PasswordAuthentication no
... но может быть легко заменено
PasswordAuthentication no
Match User root
PasswordAuthentication yes
Match User "!root,*"
делал работу.Ответы:
Попробуйте
Match
вsshd_config
:Или по группе:
Или, как указано в комментарии, отрицанием:
Обратите внимание, что сопоставление действует «до другой строки совпадения или до конца файла». (отступ не имеет значения)
источник
Match user !root
для этого делаMatch
вsshd_config
работает хорошо. Вы должны использовать,Match all
чтобы завершить блок матча, если вы используете openssh 6.5p1 или выше. Пример:источник
Есть несколько способов, которыми вы можете сделать это - во-первых, вы можете запустить второй демон sshd на другом порту с другой конфигурацией - это немного хак, но с некоторой работой с chroot он должен работать просто отлично.
Кроме того, вы можете разрешить аутентификацию по паролю, но заблокировать пароли для всех, кроме одного пользователя. Пользователи с заблокированными паролями по-прежнему смогут проходить аутентификацию с открытыми ключами.
источник
Вы можете просто перейти в файл / etc / ssh / sshd_config и добавить строку Разрешить -> AllowUsers user1 To Deny ---> DenyUsers user2
мы можем разрешить / запретить вход в систему для определенного набора хостов, используя файлы hosts.allow или hosts.deny, расположенные в папке / etc
источник
Из-за некоторых причин безопасности вам может потребоваться заблокировать доступ определенных пользователей SSH к Linux.
Отредактируйте файл sshd_config, расположение может отличаться в зависимости от дистрибутива Linux, но обычно оно находится в / etc / ssh /.
Откройте файл, войдя в систему как root:
Вставьте строку в конец файла конфигурации: -
Сохраните его и перезапустите службы SSH. В основном username1, username2, username3 & username4 Вход по SSH запрещен.
Запустите команду ниже, чтобы перезапустить то же самое: -
Требование выполнено. Пожалуйста, возьмите ssh от этих пользователей, и вы получите ошибку "Доступ запрещен"
источник