как настроить двухфакторную аутентификацию в Ubuntu для пользователей Ubuntu с помощью Google authenticator?

Как настроить двухфакторную аутентификацию в Ubuntu для пользователей Ubuntu с помощью Google authenticator (он также может быть настроен для учетных записей не для Google)?

Примечание. После того, как вы активировали двухфакторную аутентификацию для пользователя и не установили то же самое для root, вы никогда не сможете напрямую войти в систему с правами root. В этом случае можно использовать любого другого пользователя sudo, для которого у нас есть его настройка, а затем использовать sudo su - для переключения на пользователя root.


Для его настройки используйте следующие шаги.

  1. Установите ниже установленный пакет, чтобы установить аутентификатор Google, который мы будем использовать в качестве дополнения с проверкой подлинности PAM:

     sudo apt-get install libpam-google-authenticator 
  2. Теперь отредактируйте файл /etc/pam.d/sshd и добавьте Google Authenticator, как показано ниже:

     *sudo vim /etc/pam.d/sshd 

    введите ниже вверху этот файл-

     auth required pam_google_authenticator.so 
  3. Здесь мы должны внести изменения в /etc/ssh/sshd_config чтобы гарантировать, что ssh использует Google Authenticator, таким образом мы гарантируем, что ssh использует двухфакторную аутентификацию.

     vim /etc/ssh/sshd_config 

    В этом файле мы должны найти ChallengeResponseAuthentication и раскомментировать и / или изменить его, чтобы он выглядел ниже (вкратце установите его на yes: P):

     ChallengeResponseAuthentication yes 

    Дополнительный или GUI-аутентификация с использованием двух факторов пропустите это и перейдите к шагу 4: чтобы включить его для входа в GUI, отредактируйте /etc/pam.d/common-auth :

     sudo vim /etc/pam.d/common-auth 

    и теперь добавьте этот auth required pam_google_authenticator.so над линией auth [success=1 default=ignore] pam_unix.so nullok_secure затем сохраните файл.

  4. Теперь перейдите в учетную запись, на которой вы хотите ее настроить.
    ( Примечание. Я бы предложил создать не менее двух учетных записей суперпользователя в системе, кроме учетной записи root, и настроить ее по крайней мере, для одной из них сначала, но не для учетной записи root.)

     sudo su - testuser1 
  5. Теперь мы будем использовать команду ниже для настройки двухфакторной аутентификации для этого testuser1 :

     google-authenticator 
  6. Выполнение этой команды задаст вам вопрос ниже. (рекомендуемый ответ: Да)

    Вы хотите, чтобы токены аутентификации были основаны на времени (y / n) y

  7. После этого он покажет вам QR-код и коды сбоя в чрезвычайной ситуации и несколько других деталей. Вывод должен выглядеть следующим образом:

    введите описание изображения здесь

  8. Теперь вам нужно использовать свой телефон Android / Apple / Blackberry для загрузки и установки приложения Google Authenticator с соответствующих мест рынка, например, в магазине Google Play. который будет генерировать код для входа в систему.

    Ниже приведен скриншот приложения Значок и приложение, взятое из приложения Android phone.

    введите описание изображения здесьвведите описание изображения здесь

  9. Запустите приложение на своем телефоне и сканируйте QR-код, либо используйте секретный ключ и код подтверждения, приведенный ниже QR-кода в системе, который вы также можете увидеть на первом скриншоте выше.

  10. Как только все это будет сделано, очень важно записать и сохранить коды аварийной царапины в безопасном месте, так как это коды, которые могут помочь вам в случае, если вы каким-то образом заблокированы.

  11. В этот момент вы должны взглянуть на нижнюю часть экрана, где он задает вам вопрос ниже. (рекомендуемый ответ: Да):

    Вы хотите, чтобы я обновил файл «/home/testuser1/.google_authenticator» (y / n) y

  12. Опять же, он задаст вам еще один вопрос, и рекомендуемый ответ на следующий вопрос также да.

    Вы хотите запретить несколько применений одного и того же токена аутентификации? Это ограничивает вас одним входом примерно каждые 30 секунд, но это увеличивает ваши шансы заметить или даже предотвратить атаки «человек в середине» (y / n) y

  13. Следующий вопрос будет таким, как указано ниже, и рекомендуемый ответ для него: Нет:

    По умолчанию токены хороши в течение 30 секунд и для компенсации возможного перекоса во времени между клиентом и сервером мы разрешаем дополнительный токен до и после текущего времени. Если у вас возникли проблемы с плохой синхронизацией времени, вы можете увеличить размер окна по умолчанию от 1: 30 минут до 4 минут. Вы хотите сделать это (y / n) n

  14. И последний вопрос будет таким, как указано ниже, и рекомендованный ответ для него: Да:

    Если компьютер, с которого вы входите в систему, не затвердевает от попыток входа в грубую силу, вы можете включить ограничение скорости для модуля аутентификации. По умолчанию это ограничивает атакующих не более 3 попыток входа в систему каждые 30 секунд. Вы хотите включить ограничение скорости (y / n) y

  15. Теперь переключитесь на выход из этой учетной записи, чтобы вернуться к учетной записи root:

     exit 
  16. Теперь перезапустите службу ssh

     service ssh restart 

Теперь просто запустите сеанс ssh для пользователя, для которого вы его настроили, и сначала попросит у вас код подтверждения, который вы можете ввести со своего мобильного телефона, и затем он попросит пароль пользователя.

введите описание изображения здесь

Это все, что требуется для настройки двухфакторной аутентификации. Пожалуйста, не стесняйтесь улучшать ответ там, где это требуется, и, пожалуйста, извините меня за не очень хороший язык.