[sisyphus] двухфакторная аутентификация с google authenticator
Alexei V. Mezin
alexei на nanoscantech.ru
Пт Сен 20 09:04:33 MSK 2019
20.09.2019 7:12, Anton Farygin пишет:
> Предполагаю что ты единственный пользователь Альта, кто пытается сделать
> такую схему аутентификации.
Хм... ну Ок. Но инструмент-то имеется! Кто-то же его в Сизиф положил :)
Да и задача не сказать чтоб редкая и экзотическая.
Потыкал в этот снаряд еще. Гугл говорит, что у всех работает, а у нас
наверное слишком особенный sshd/pam.
Ситуация примерно такая:
№1 если ставить вызов google_auth первым в списке
#%PAM-1.0
auth requisite pam_google_authenticator.so
echo_verification_code nullok
auth required pam_userpass.so
...
То при попытке логина ожидаемо сначала запрашивается одноразовый код. В
логах видно, что он принимается корректно, но сразу же выскакивает надпись
sshd[31113]: error: PAM: Application needs to call libpam again for
alexei from 192.168.1.4
И второго запроса уже обычного пароля не происходит. Снова запрашивается
код. После трех попыток видимо google-часть сдается, и тогда уже виден
запрос пароля, но к успеху он не приводит.
№2 если поставить вызов google_auth после прочих auth, то сначала
ожидаемо запрашивается пароль на вход в систему. Но входа не происходит.
В логах видно, что google_auth не получила корректного кода. Но как бы
она его смогла получить, если запрос кода не выдается?
№3 если гугло-часть поставить вперед, снабдив ключом forward_pass, то
нормально происходит запрос вида "введите пароль и код". Если в одну
строку ввести пароль и код в формате passwd111122222, то гугло-часть
исправно получает свой код, видимо передает пароль дальше (где его
должны перехватить ключем use_first_pass), но все снова возвращается на
запрос пароля-кода с вот таким диагнозом
sshd[3566]: pam_tcb(sshd:auth): Authentication passed for alexei from
(uid=0)
sshd[3564]: error: PAM: Conversation error for alexei from 127.0.0.1
Подробная информация о списке рассылки Sisyphus