Итак, у меня есть этот отличный маленький yubikey, и я хочу добавить дополнительный уровень безопасности при аутентификации сессий ssh. На стороне сервера я уже отключил аутентификацию по паролю и разрешаю использовать ssh-ключи только при входе в систему.
Проблема в том, что после настройки sshd и PAM для аутентификации yubikey для sshd все еще требуется только ключ ssh, меня никогда не просят предоставить ответ от yubikey.
Как я требую как и ключа SSH и в YubiKey?
(ubuntu 14.04 - trusty)
/etc/pam.d/common-auth
:
auth required pam_yubico.so mode=client try_first_pass id=<id> key=<secret>
auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass
# 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 already;
# 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
/etc/ssh/sshd_config
:
...
PasswordAuthentication no
ChallengeResponseAuthentication yes
UsePAM yes
ssh
two-factor
Бен Лемасурье
источник
источник
Ответы:
Хорошо, я продолжил и думаю, что нашел разумное решение. Первой вещью, которую я ранее пропустил, был sshd
AuthenticationMethods publickey,password
. Это обеспечивает соблюдение требования как к публичному ключу, так и к паролю - «пароль» теперь обрабатываетсяPAM->auth-yubi
. Также потребовались дополнительные изменения, см. Ниже:(Ubuntu 14.04 - верный):
/etc/pam.d/yubi-auth
Примечание: вы можете получить свой идентификатор доступа и секретный ключ здесь
/etc/pam.d/sshd
/ И т.д. / SSH / sshd_config
service ssh restart
верификация
SSH с удаленного хоста без открытого ключа
SSH с удаленного хоста с открытым ключом
улучшение
Было бы неплохо видеть "Yubikey Auth:" вместо "password:" с удаленного ssh-сервера при аутентификации.
Что происходит, когда сервер ssh не может связаться с системой проверки подлинности yubico? Идеальное решение было бы полностью автономным.
Комментарии и предложения приветствуются.
источник
Настройка 2FA с помощью Yubikey может быть сложной (хотя существует патч openssh для U2F ), но, вероятно, самый простой способ - это описанный на официальном сайте Yubico .
Это в основном способ хранения вашего закрытого ключа на Yubikey и защиты его с помощью PIN-кода. Это не совсем 2FA, который вы описали (но это то, что у вас есть и что вы знаете ), но это еще больше повышает безопасность (Yubikey блокируется после некоторых неудачных попыток).
TL: DR;
источник