2 Факторная аутентификация в SSH с использованием открытого ключа и PAM

9

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

  • Открытый закрытый / открытый ключ совпадает (метод аутентификации: publickey) или пароль правильный
  • Мой метод аутентификации PAM успешен.

Второй метод аутентификации - это файл PAM. Поэтому я помещаю его в /usr/lib/pam/и добавил auth required my_pam_module.soв /etc/pam.d/sshd.
До сих пор я могу войти в систему, используя (метод publickey) или (пароль и все, что требуется от моего модуля pam). Поэтому я добавил AuthenticationMethods publickey,keyboard-interactiveв /etc/sshd_configи теперь я должен иметь открытый ключ, пароль, и «все , что требуется от меня Пого модуля».

Какие строки мне нужно изменить, чтобы добиться того, что я описал выше? Я использую Mac OS X Mavericks (10.9). Если вы не знакомы с Mac, это также может помочь в вашей системе Linux.

Matt3o12
источник

Ответы:

2

Это довольно просто для "publickey-> password-> your_module" или "password-> your_module". Не могу найти способ удалить пароль из первой цепочки

publickey, клавиатура-интерактивная - означает, что будет использоваться аутентификация publickey и клавиатурно-интерактивная (после логического И), замените запятую пробелом для логического ИЛИ, например

AuthenticationMethods publickey, клавиатура-интерактив: pam клавиатура-интерактив: pam

Дмитрий Сосник
источник
Когда я пишу keyboard-interactive:pamв конфиге, я получаю эту ошибку:ssh_exchange_identification: Connection closed by remote host
Matt3o12
Попробуйте запустить клиент SSH в подробном режиме, он даст вам больше информации о том, что происходит не так. Например, 'ssh -vvv <имя_хоста>'
Дмитрий Сосник
Вот подробный журнал ssh: pastebin.com/hXTaCJ6f . Вы также можете найти соответствующие части моего журнала сервера ниже (самые последние вещи, о которых сообщал sshd). Нужно ли заменить pam на my_pam_method?
Matt3o12
Просто интересно, вы добавили "ChallengeResponseAuthentication yes" и "UsePAM yes" в конфигурацию sshd?
Дмитрий Сосник
Это не было установлено на да, но я изменил его, хотя ничего не изменилось (все еще получая ту же ошибку). Это сработало для вас? И если да, то какой OpenSSL вы используете?
Matt3o12