Я использую Ubuntu 14.04.1 (с OpenSSH 6.6 и libpam-google-authenticator 20130529-2).
Я пытаюсь настроить SSH-входы, в которых открытый ключ аутентифицируется (без пароля), а пользователю предлагается ввести код от Google Authenticator.
Следуя / адаптируя эти инструкции, я получил запрос на ввод пароля и запрос на аутентификацию Google:
- https://scottlinux.com/2013/06/02/use-google-authenticator-for-two-factor-ssh-authentication-in-linux/
- http://www.howtogeek.com/121650/how-to-secure-ssh-with-google-authenticators-two-factor-authentication/
- https://wiki.archlinux.org/index.php/Google_Authenticator и https://wiki.archlinux.org/index.php/SSH_keys#Two-factor_authentication_and_public_keys
- https://www.digitalocean.com/community/tutorials/how-to-protect-ssh-with-two-factor-authentication
Я установил пакет, отредактировал мой /etc/ssh/sshd_config
и /etc/pam.d/ssh
файлы
В /etc/ssh/sshd_config
:
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive
UsePAM yes
и в нижней части /etc/pam.d/ssh
:
auth required pam_google_authenticator.so nullok # (I want to give everyone a chance to set up their 2FA before removing "nullok")
Я знаю, что PAM зависит от порядка, но sshd_config
также?
Что я делаю неправильно? Любая помощь будет оценена.
PasswordAuthentication no
, но это было не так. Проблема была / была в том, что у меня были / haveControlMaster auto
иControlPath
директивы в моем ~ / .ssh / config файле. Я хотел убедиться, что я не блокируюсь, поэтому я всегда оставляю сеанс SSH открытым. Так как мой компьютер просто использовал бы их повторно, я всегда входил без системы, запрашивающей токен. Я пометил ваш ответ как правильный, так как кто-то, следовавший ему, действительно получил бы рабочую установку. Благодарность!