Erlang, SSH и authorized_keys - PullRequest
       16

Erlang, SSH и authorized_keys

3 голосов
/ 10 марта 2010

Играя с приложением ssh и public_key в Erlang, я обнаружил замечательную функцию .

Я пытался подключиться к работающему демону Erlang SSH с помощью ключа rsa , но аутентификация не удалась, и мне предложили ввести пароль.

После некоторой отладки и трассировки (и пары кофе) я понял, что по какой-то странной причине там был недействительный ключ для моего пользователя. Файл authorized_keys содержал два ключа . В какой-то момент в файле был неправильный файл, а в конце файла был добавлен правильный.

Теперь приложение Erlang SSH, сравнивая предоставленный ключ с ключами, содержащимися в авторизованных ключах, находило первую запись (полностью игнорируя вторую - правильную). Затем он переключался на другой механизм аутентификации (сначала он пытался dsa вместо rsa , а затем запрашивал пароль).

Вопрос в том, предназначено ли это поведение, или сервер SSH должен проверять наличие нескольких записей для одного и того же пользователя в файле authorized_keys ? Это общее поведение SSH или оно специфично для реализации Erlang?

1 Ответ

3 голосов
/ 15 марта 2010

Да, это проверка подлинности «первый сбой», и я несколько раз сталкивался с вашей проблемой. Что касается реализации, мне объяснили, что демон перебрал файл authorised_keys в поисках подходящего логина, и ТО проверил ключ.

Кажется, это стандартная реализация,

...