Я следовал нескольким различным руководствам по тому, как настроить двухфакторную аутентификацию на моем ssh сервере с помощью libpam-google-authenticator Google. Я смог заставить это работать, но когда я пытаюсь войти в систему от своего рабочего стола или любого другого устройства по ssh, я должен дать ему свой ssh-ключ, пароль пользователя и затем маркер аутентификатора. Но в моем sshd_config файле я имею:
AuthenticationMethods publickey,keyboard-interactive
ChallengeResponseAuthentication yes
PasswordAuthentication no
UsePAM yes
И в моем /etc/pam.d/sshd
Я добавил
auth required pam_google_authenticator.so
Таким образом, я думаю, что это не должно просить пароль также. Как я могу зафиксировать его?
Прокомментируйте строку @include common-auth
из вашего /etc/pam.d/sshd
. Он будет запрашивать только второй фактор (если настроен!).
В основном @Jakuje является правильным.
общий автор содержит строку с pam_unix.so. Я создал бы новый файл/etc/pam.d/google_auth и включал бы это в Ваш/etc/pam.d/sshd вместо общего автора. Таким образом, Вы являетесь более модульными.
автор Google был бы в основном похож на это:
# here are the per-package modules (the "Primary" block)
auth [success=1 default=ignore] pam_google_authenticator.so
# here's the fallback if no module succeeds
auth requisite pam_deny.so
# prime the stack with a positive return value if there isn't one
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
auth required pam_permit.so
# and here are more per-package modules (the "Additional" block)
auth optional pam_cap.so
# end of pam-auth-update config
Этот способ, которым можно включать google-auth
в то, какой бы ни обслуживают Вас, любят.