Модуль PAM для ssh: как узнать, использует ли пользователь ключ или пароль для аутентификации

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

Спасибо за помощь и ждем ответа, пожалуйста! ! !


person Dhawal    schedule 23.08.2011    source источник
comment
То, как пользователь аутентифицирован из sshd (т.е. аутентификация без использования pam), похоже, не передается в сеанс pam. Однако вас может заинтересовать pam ssh_agent_auth, он аутентифицируется с помощью ключа, присутствующего в перенаправленном агенте: pamsshagentauth.sourceforge. нетто   -  person Corey Henderson    schedule 30.12.2011


Ответы (1)


Мое разумное предположение состоит в том, что sshd использует pam_auth только для входа в систему в интерактивном режиме с клавиатуры. Для входа на основе ключа pam_auth не вызывается. Это должно быть довольно легко проверить, написав собственный модуль PAM с ведением журнала или повторно используя подробное ведение журнала какого-либо существующего модуля.

Обратите внимание, что все еще есть сеанс PAM, учетная запись и т. Д., Которые, я думаю, всегда использует sshd.

Я не уверен, почему вам нужно обнаруживать то, что вы хотите обнаружить. Должно быть легко придумать хакерский способ сделать это, если моя догадка верна, но мне кажется, вам следует прояснить вопрос.

Фактически, https://stackoverflow.com/questions/7318754/pam-module-pam-prompt-conversation-function-problem, похоже, подтверждает мою догадку. :)

person Paweł Hajdan    schedule 30.12.2011