При применении двухфакторной аутентификации, кроме традиционного логина/пароля или ключа требуется ввести код подтверждения, получаемый с устройства, заведомо принадлежащего владельцу аккаунта. Наиболее простым способом является использование открытого проекта [[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.dev/tips/info/2856.shtml