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

Порядок аутентификации с помощью SSH

Когда я вхожу в систему через ssh с -v Я вижу, что ssh аутентифицируется следующим образом

debug1: Authentications that can continue: publickey,gssapi-with-mic,password,hostbased

Я хотел бы изменить порядок ... Есть идеи как?

Моя большая проблема заключается в том, что пользователь с заблокированными учетными записями все еще может входить в систему с помощью открытых ключей. Я обнаружил, что могу добавить пользователя в группу "ssh-locked" добавить запретить этой группе sshing, но мне все еще интересно, есть ли способ сообщить ssh'd: Пожалуйста, проверьте пароль перед ключами ...

Сервер ssh решает, какие параметры аутентификации он разрешает, клиент ssh может быть настроен, чтобы решить, в каком порядке их пробовать.

Клиент ssh использует PreferredAuthentications в конфигурационном файле ssh, чтобы определить это.

Из man ssh_config (посмотреть это онлайн здесь):

PreferredAuthentications
             Specifies the order in which the client should try protocol 2 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

Я не верю, что можно, не играя с исходным кодом, указать серверу OpenSSH отдавать предпочтение определенному порядку - если вы задумаетесь, это все равно не имеет смысла.

Добавляем это:

PreferredAuthentications keyboard-interactive,password,publickey,hostbased,gssapi-with-mic

... моему /etc/ssh/ssh_config помогли мне решить эту проблему и сэкономили кучу времени!

Вы можете проверить, работает ли он, используя ssh -v user@host команда для подключения, где -v означает «многословный».

Добавляя к двум другим ответам, уже упоминающим PreferredAuthentications вариант, хочу добавить вам не нужно редактировать какой-либо файл, чтобы установить этот параметр, если вы не хотите. Скорее, вы можете просто установите его в командной строке для индивидуального вызова ssh, с -o вариант, а именно:

ssh -o PreferredAuthentications=publickey,gssapi-with-mic,hostbased,keyboard-interactive,password user@hostname

Ссылки:

  1. Чтобы узнать больше о PreferredAuthentications вариант, см. man ssh_config (посмотреть это онлайн здесь). Также читайте о ssh -o вариант в man ssh справочные страницы (онлайн здесь).

Для действительно заблокированной учетной записи вы обычно можете поиграть с датой истечения срока ее действия. Способы сделать это зависят от ОС вашего хоста, например в Linux это было бы chage -d 0 someuser.

Смотрите также https://unix.stackexchange.com/questions/343535/what-is-the-solaris-equivalent-of-chage-d :-)