При применении двухфакторной аутентификации, кроме традиционного логина/пароля или ключа требуется ввести код подтверждения, получаемый с устройства, заведомо принадлежащего владельцу аккаунта. Наиболее простым способом является использование открытого проекта [[https://code.google.com/p/google-authenticator/ Google Authenticator]], который предоставляет мобильное приложение для генерации одноразовых паролей (TOTP) и PAM-модуль для установки на стороне сервера.На сервере устанавливаем PAM-модуль и утилиту настройки, которые во многих дистрибутивах содержится в пакете google-authenticator:
sudo yum install google-authenticator
Устанавливаем на мобильный телефон приложение Google Authenticator, которое доступно для [[https://play.google.com/store/apps/details?id=com.google.and... Android]], [[https://itunes.apple.com/en/app/google-authenticator/id38849... iOS]], [[https://marketplace.firefox.com/app/gauth-authenticator/ Firefox OS]] и других платформ.
На сервере под учётной записью пользователя, для которого хотим включить двухфакторную аутентификацию, запускаем команду:
google-authenticator
которая отобразит картинку с QRcode, которую необходимо снять через камеру телефона из мобильного приложения Google Authenticator, а также покажет коды экстренного восстановления, которые позволят восстановить доступ в случае потери смартфона.
Для включения двухфакторной аутентификации в SSH на сервере активируем PAM-модуль, добавив в /etc/pam.d/sshd строку:
auth required pam_google_authenticator.so
В конфигурации OpenSSH /etc/ssh/sshd_config активируем опцию ChallengeResponseAuthentication:
ChallengeResponseAuthentication yesНе забываем перезапустить sshd:
sudo service sshd restart
Теперь при попытке входа по SSH потребуется ввести не только пароль, но и действующий несколько секунд одноразовый код, который следует получить из мобильного приложения.
Verification code: ********
Password: ********Кроме SSH, на рабочей станции можно добавить поддержку двухфакторной аутентификации в экранный менеджер GDM, для этого добавим в файл /etc/pam.d/gdm-password строку:
auth required pam_google_authenticator.soПри следующем входе, кроме пароля GDM запросит одноразовый код подтверждения.
URL: http://www.cyberciti.biz/open-source/howto-protect-linux-ssh.../ http://wiki.gentoo.org/wiki/Google_Authenticator#OpenSSH https://google-authenticator.googlecode.com
Обсуждается: http://www.opennet.me/tips/info/2856.shtml
Гуглозонд в ssh - это здорово придумано.
не хочешь, не ешь, есть и другие реализации OTP (и PAM модули) c сорцами - http://motp.sourceforge.net
Или, например, OATH Toolkit:
http://www.nongnu.org/oath-toolkit/index.html
Оно, если ты не заметил, открытое и имеет RFC. Неплохо бы думать иногда, а не только включать условный рефлекс на слово "гугл".
>которая отобразит картинку с QRcodeпоржал
да, пожалуй, на серверах таки обычно нет Иксов
Там псевдографика обычными квадратиками
> Там псевдографика обычными квадратикамиах! точно )) спасибо.
Суть этих кодов? На обоих устройствах имеется какой-то ключ (переданный через qr код, видимо), в зависимости от времени на его основе получается какая-то короткая хеш фраза и сверяется?
https://ru.wikipedia.org/wiki/Time-based_One-time_Password_A...