Некоторые системные администраторы могут захотеть отключить проверку подлинности паролей SSH в своих системах и разрешить вход только по ключам SSH. Обычно это делается для того, чтобы сделать систему более защищенной и лишить пользователей возможности легко получить доступ к ней, используя только пароли. В этой статье мы узнаем, как отключить аутентификацию пароля SSH для некоторых пользователей в Linux. Вы можете использовать эти шаги для всех дистрибутивов Linux.
Как отключить аутентификацию по паролю SSH для некоторых пользователей
Существуют различные способы отключения аутентификации пароля SSH для некоторых пользователей. Мы рассмотрим их по очереди.
1. Откройте файл конфигурации SSH
Откройте терминал и выполните следующую команду, чтобы открыть файл конфигурации SSH.
1 | sudo nano /etc/ssh/sshd_config |
2. Отключите аутентификацию SSH
Если вы хотите отключить аутентификацию SSH для всех пользователей, найдите в файле директиву PasswordAuthentication и установите ее в значение No.
1 | PasswordAuthentication no |
Если вы хотите отключить проверку подлинности пароля для определенных пользователей, таких как user1, user2, то используйте директиву Match User, чтобы применить вышеуказанное правило PasswordAuthentication только к этим пользователям.
1 2 | Match User user1,user2 PasswordAuthentication no |
Если вы хотите отключить проверку подлинности пароля для всех пользователей в определенной группе пользователей, например, data_users, используйте условие Match Group для соответствия только этим пользователям, как показано ниже.
1 2 | Match Group data_user PasswordAuthentication no |
Если вы хотите отключить аутентификацию пароля для всех пользователей, кроме пользователя root, вы также можете использовать оператор отрицания.
1 2 | Match User !root PasswordAuthentication no |
Сохраните и закройте файл.
3. Перезапустите службу SSH
Выполните следующую команду для перезапуска службы SSH.
1 | /etc/init.d/ssh reload |
ИЛИ
1 | sudo systemctl reload ssh |
ИЛИ
1 | /etc/init.d/sshd reload |
4. Проверьте изменения
Далее выполните следующую команду для подключения к SSH-серверу. Замените имя пользователя и server-ip на имя пользователя и IP-адрес сервера для входа в систему SSH.
1 | ssh username@server-ip -o PubkeyAuthentication=no |
Заключение
В этой статье мы узнали, как удалить аутентификацию пароля SSH в Linux. Если вы хотите включить аутентификацию по паролю, просто измените значение директивы PasswordAuthentication на Yes.