Я використовую Ubuntu 14.04.1 (з OpenSSH 6.6 та libpam-google-автентифікатором 20130529-2).
Я намагаюся налаштувати входи в SSH, де відкритий ключ підтверджує автентифікацію (без пароля) і користувачеві пропонується отримати код від Генератора даних Google.
Дотримуючись / адаптуючи ці інструкції, я отримав запит на введення пароля, а також підказку Google Auth:
- 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
, але це було не все. Проблема полягає в тому, що у моєму файлі ~ / .ssh / config я мав / маюControlMaster auto
та маєControlPath
директиви. Я хотів переконатися, що я не заблокував себе, тому завжди залишав сеанс SSH відкритим. Оскільки мій комп'ютер просто їх повторно використовувати, я завжди входив без системи, яка просила маркер. Я позначив вашу відповідь правильною, оскільки хтось, що стежить за нею, дійсно отримав би робочу настройку. Спасибі!