Google Authenticator не «отправляется домой» в Google - все это происходит на вашем SSH-сервере и на вашем телефоне. Фактически, Google Authenticator полностью открыт с открытым исходным кодом, поэтому вы можете сами изучить его исходный код.
Установите Google Authenticator
Чтобы реализовать многофакторную аутентификацию с помощью Google Authenticator, нам понадобится модуль PAM с открытым исходным кодом Google Authenticator. PAM означает «подключаемый модуль аутентификации» - это способ легко подключить различные формы аутентификации в систему Linux.
Репозитории программного обеспечения Ubuntu содержат простой в установке пакет для модуля PAM Google Authenticator. Если ваш дистрибутив Linux не содержит пакет для этого, вам придется загрузить его с страницы загрузки Google Authenticator в Google Code и скомпилировать ее самостоятельно.
Чтобы установить пакет на Ubuntu, выполните следующую команду:
sudo apt-get install libpam-google-authenticator
(Это установит только модуль PAM в нашей системе - нам придется активировать его для входа в SSH вручную).
Создание ключа аутентификации
Войдите в систему как пользователь, с которым вы будете подключаться удаленно и запустите Google-аутентификатор чтобы создать секретный ключ для этого пользователя.
Разрешите команде обновить файл Google Authenticator, набрав y. Затем вам будет предложено несколько вопросов, которые позволят вам ограничить использование одного и того же временного токена безопасности, увеличить временное окно, в котором могут использоваться токены, и ограничить допустимые попытки доступа, чтобы помешать попыткам взлома грубой силы. Эти выборы все торгуют некоторой безопасностью для некоторой простоты использования.
Введите секретный ключ в приложении Google Authenticator на своем телефоне (официальные приложения доступны для Android, iOS и Blackberry). Вы также можете использовать функцию сканирования штрих-кода - перейдите к URL-адресу, расположенному в верхней части вывода команды, и вы можете сканировать QR-код с помощью камеры вашего телефона.
Активировать Google Authenticator
Затем вам понадобится Google Authenticator для входа в систему SSH. Для этого откройте /etc/pam.d/sshd файл в вашей системе (например, с помощью sudo nano /etc/pam.d/sshd ) и добавьте следующую строку в файл:
auth required pam_google_authenticator.so
Затем откройте / И т.д. / SSH / sshd_config файл, найдите ChallengeResponseAuthentication и измените его следующим образом:
ChallengeResponseAuthentication yes
(Если ChallengeResponseAuthentication строка еще не существует, добавьте вышеприведенную строку в файл.)
Наконец, перезапустите SSH-сервер, чтобы ваши изменения вступили в силу:
sudo service ssh restart