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

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

1 ответ

Решение

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


Используйте ниже шаги, чтобы настроить его.

  1. Установите ниже указанный пакет, чтобы установить Google authenticator, который мы будем использовать как дополнение к 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 и раскомментируйте и / или измените его так, чтобы он выглядел так, как показано ниже (вкратце установите его на "да":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. Выполнение этой команды задаст вам следующий вопрос. (рекомендуемый ответ - да)

    Хотите ли вы, чтобы токены аутентификации основывались на времени (да / нет)?

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

    введите описание здесь

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

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

    введите описание здесьвведите описание здесь

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

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

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

    Вы хотите, чтобы я обновил ваш файл "/home/testuser1/.google_authenticator" (да / нет)

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

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

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

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

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

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

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

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

    service ssh restart
    

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

введите описание здесь

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

Другие вопросы по тегам