При подключении к удаленному серверу по SSH ваш SSH-клиент будет пробовать различные методы аутентификации, прежде чем остановится на одном из них. Последовательность методов, которые использует клиент, определяется параметром PreferredAuthentications, при этом по умолчанию последним выбором является пароль.
PreferredAuthentications
Определяет порядок, в котором клиент должен опробовать методы аутентификации. Это позволяет клиенту предпочесть один метод (например, клавиатурно-интерактивный) другому (например, паролю). По умолчанию:
gssapi-with-mic,hostbased,publickey,keyboard-interactive,password
Пароль - это общепринятый метод аутентификации для SSH, в то время как более опытный системный администратор может предпочесть publickey. Вы можете указать предпочтительный метод аутентификации для клиента SSH, если у вас есть какие-то особые предпочтения или требования. Это также может ускорить процесс аутентификации, поскольку клиенту не нужно будет пробовать все остальные методы аутентификации.
Шаги по настройке предпочтительного метода аутентификации SSH
Запустите приложение терминала.
Проверьте текущую конфигурацию PreferredAuthentications вашего SSH-клиента.
1 | ssh -G * | grep -i PreferredAuthentications |
Если команда возвращает пустой результат, используются значения по умолчанию.
Показать доступные параметры конфигурации для PreferredAuthentications.
1 | man ssh_config |
1 2 3 4 5 6 | ... PreferredAuthentications Specifies the order in which the client should try authentication methods. This allows a client to prefer one method (e.g. keyboard-interactive) over another method (e.g. password). The default is: gssapi-with-mic,hostbased,publickey, keyboard-interactive,password ... |
Вручную укажите метод аутентификации при подключении к SSH-серверу.
1 | ssh -o PreferredAuthentications=publickey 192.168.11.2 |
Выбор метода аутентификации, не поддерживаемого сервером SSH, приведет к неудачному входу в систему.
Откройте файл конфигурации клиента SSH с помощью удобного для вас текстового редактора.
1 | nano ~/.ssh/config |
Используйте /etc/ssh/ssh_config, чтобы применить опцию ко всем пользователям в системе, хотя она всегда будет переопределена, если также настроена в ~/.ssh/config.
Установите предпочтительный метод аутентификации для конкретного хоста в файле конфигурации и сохраните.
1 2 | Host * PreferredAuthentications publickey,password |
В приведенном ниже примере конфигурации будут использоваться только методы publickey и password, причем именно в таком порядке.
Повторите вход на SSH-сервер, не указывая метод аутентификации.
1 | ssh -v 192.168.11.2 |
Пример вывод
1 | user@192.168.11.2: Permission denied (publickey,password). |