Отключить аутентификацию по паролю SSH для конкретного пользователя или группы
В этом руководстве объясняется, как отключить аутентификацию по паролю SSH для конкретного пользователя или группы в операционных системах Linux и Unix.
Обратите внимание, что мы не собираемся полностью отключать доступ по SSH для пользователей или групп. Вместо этого мы отключим только аутентификацию по паролю SSH.
Пользователи по-прежнему могут получить доступ к системам через SSH, используя другие методы аутентификации, например Аутентификация на основе ключей SSH.
Отключить аутентификацию по паролю SSH для конкретного пользователя или группы
Мы можем разрешить или запретить доступ по SSH для пользователей и/или всей группы, используя файл "/etc/ssh/sshd_config
" в Linux. В файле sshd_config
есть параметр с именем "Match", который поможет вам отключить аутентификацию по паролю SSH для пользователей или групп.
Давайте сначала посмотрим, как отключить аутентификацию по паролю для конкретного пользователя.
Отредактируйте файл "/etc/ssh/sshd_config
", используя ваш любимый редактор от имени пользователя root или sudo:
sudo nano /etc/ssh/sshd_config
Сначала удалите метод аутентификации по умолчанию, закомментировав следующую строку:
#PasswordAuthentication yes
Далее добавьте в конце следующие строки:
[...]
Match User senthil
PasswordAuthentication no
Отключить аутентификацию по паролю SSH для конкретного пользователя
Обратите внимание, что Match действует «до другой строки Match или до конца файла». Если ключевое слово появляется в нескольких блоках соответствия, которые удовлетворяют требованиям, применяется только первый экземпляр ключевого слова.
Согласно приведенному выше примеру, мы отключили аутентификацию по паролю SSH для пользователя с именем «sentil». Замените «sentil» на свое имя пользователя. Сохраните и закройте файл. Перезапустите службу ssh, чтобы изменения вступили в силу:
sudo systemctl restart ssh
Теперь попробуйте войти в систему как пользователь «senthil» через SSH:
ssh senthil@192.168.225.53
Вы увидите следующее сообщение об ошибке:
senthil@192.168.225.53: Permission denied (publickey).
Отключить аутентификацию по паролю SSH для конкретного пользователя в Linux
Отключить аутентификацию по паролю SSH для группы
Чтобы отключить аутентификацию по паролю SSH для определенной группы, просто замените имя пользователя именем группы в файле sshd_config
.
Match Group mygroup
PasswordAuthentication no
Замените «mygroup» в приведенной выше конфигурации на свое собственное имя группы.
Не забудьте перезапустить службу ssh, чтобы изменения вступили в силу.
Отключить аутентификацию по паролю SSH для нескольких пользователей
Вы можете запретить аутентификацию по паролю SSH для нескольких пользователей, указав имена пользователей через запятую, как показано ниже:
Match User senthil,kumar
PasswordAuthentication no
Приведенный выше пример конфигурации предотвратит аутентификацию по паролю SSH для пользователей «senthil» и «kumar».
Отключить аутентификацию по паролю SSH для всех пользователей, кроме пользователя root
В некоторых системах Linux вы можете разрешить аутентификацию по паролю SSH только для пользователя «root
» и отключить ее для всех остальных пользователей. Если да, добавьте в конце следующую строку в файл sshd_config
:
Match User !root
PasswordAuthentication no
Ограничить аутентификацию пароля SSH по хосту или IP-адресу
Не только пользователя или группу, мы также можем запретить аутентификацию пароля SSH по хосту или IP-адресу.
Например, следующий пример запретит доступ по SSH с хоста, содержащего IP-адрес:
Match Address 192.168.225.37
PasswordAuthentication no
Чтобы ограничить аутентификацию по паролю SSH для определенного диапазона IP-адресов, добавьте следующее:
Match Address 192.168.225.*
PasswordAuthentication no
И в этом примере будет запрещен доступ по SSH с использованием пароля хоста, содержащего имя хоста:
Match Address hostname
PasswordAuthentication no
Более подробную информацию можно найти на страницах руководства.
man sshd_config
Заключение
В этом руководстве мы обсудили, как отключить аутентификацию по паролю SSH для конкретного пользователя или группы в Linux. Далее мы рассмотрели, как отключить доступ к паролю SSH для нескольких пользователей и как ограничить доступ к паролю SSH всем пользователям, кроме пользователя root. Наконец, мы узнали, как ограничить аутентификацию пароля SSH по хосту или IP-адресу.
Другие руководства по SSH:
- Как настроить аутентификацию на основе ключей SSH в Linux
- Разрешить или запретить доступ по SSH определенному пользователю или группе в Linux
- Ограничить количество входов по SSH на пользователя/группу/систему
- Ограничить доступ к серверам Linux с помощью TCP-оболочек
- Выполнение команд в удаленных системах Linux через SSH
- Как создать псевдоним SSH в Linux
- Как подключиться по SSH к определенному каталогу в Linux
- SSLH – используйте один и тот же порт для HTTPS и SSH
- ScanSSH — быстрый SSH-сервер и открытый прокси-сканер
- Как возобновить частично переданные файлы по SSH с помощью Rsync
- Как запустить одну команду на нескольких удаленных системах одновременно
- DSH – запуск команды Linux на нескольких хостах одновременно
- Как предотвратить разрыв сеанса SSH в Linux
- Как включить SSH во FreeBSD
Надеюсь это поможет.