Как настроить двухфакторную аутентификацию в Ubuntu для пользователей Ubuntu, использующих Google authenticator (это также можно настроить для учетных записей не из Google)?
Как настроить двухфакторную аутентификацию в Ubuntu для пользователей Ubuntu, использующих Google authenticator (это также можно настроить для учетных записей не из Google)?
Примечание. После того, как вы активировали двухфакторную аутентификацию для пользователя и не установили ее для root, вы никогда не сможете напрямую войти в систему как root. В таком случае можно обойти любого другого пользователя sudo, для которого мы его настроили, а затем использовать sudo su -
для переключения на пользователя root.
Используйте ниже шаги, чтобы настроить его.
Установите ниже указанный пакет, чтобы установить Google authenticator, который мы будем использовать как дополнение к PAM-аутентификации:
sudo apt-get install libpam-google-authenticator
Теперь отредактируйте /etc/pam.d/sshd
этот файл и добавьте Google Authenticator, как указано ниже:
*sudo vim /etc/pam.d/sshd
введите внизу вверху этот файл-
auth required pam_google_authenticator.so
Здесь мы должны внести изменения, /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
затем сохраните файл.
Теперь перейдите к учетной записи, на которой вы хотите его настроить.
( Примечание. Я бы предложил создать в системе не менее двух учетных записей суперпользователей, кроме учетной записи root, и настроить ее как минимум для одной из них в первую очередь, но не для учетной записи root.)
sudo su - testuser1
Теперь мы будем использовать команду ниже для настройки двухфакторной аутентификации для этого testuser1
:
google-authenticator
Выполнение этой команды задаст вам вопрос ниже. (рекомендуемый ответ - да)
Хотите ли вы, чтобы токены аутентификации основывались на времени (да / нет)?
После этого он покажет вам QR-код и коды аварийных царапин и некоторые другие детали. Выход должен выглядеть следующим образом:
Теперь вам нужно использовать свой телефон Android / Apple / Blackberry для загрузки и установки приложения Google Authenticator из соответствующих рынков, например из магазина Google Play. который сгенерирует код для вас, чтобы войти.
Ниже представлены скриншот приложения Icon и приложения, взятые из приложения Android phone.
Запустите приложение на своем телефоне и отсканируйте QR-код, либо используйте секретный ключ и проверочный код, указанный под QR-кодом в системе, который вы также можете увидеть на первом скриншоте выше.
После того, как все это будет сделано, очень важно записать и сохранить ваши аварийные скретч-коды в безопасном месте, так как это коды, которые могут помочь вам в случае, если вы каким-то образом заблокированы.
На данный момент вы должны взглянуть на нижнюю часть экрана, где он задает вам вопрос ниже. (рекомендуемый ответ - да):
Вы хотите, чтобы я обновил ваш файл "/home/testuser1/.google_authenticator" (да / нет)
Снова он задаст вам еще один вопрос, и рекомендуемый ответ на следующий вопрос также Да:
Вы хотите запретить многократное использование одного и того же токена аутентификации? Это ограничивает вас одним входом примерно каждые 30 секунд, но увеличивает ваши шансы заметить или даже предотвратить атаки «человек посередине» (да / нет)
Следующий вопрос будет таким, как приведенный ниже, и рекомендуемый ответ для него - Нет:
По умолчанию токены работают в течение 30 секунд, и для компенсации возможного перекоса времени между клиентом и сервером мы разрешаем дополнительный токен до и после текущего времени. Если у вас возникли проблемы с плохой синхронизацией времени, вы можете увеличить размер окна по умолчанию от 1: 30 минут до 4 минут. Вы хотите сделать это (да / нет) n
И последний вопрос будет таким, как приведенный ниже, и рекомендуемый ответ для него - «Да»:
Если компьютер, на который вы входите, не защищен от попыток входа в систему методом подбора, вы можете включить ограничение скорости для модуля аутентификации. По умолчанию это ограничивает злоумышленников не более 3 попыток входа в систему каждые 30 секунд. Вы хотите включить ограничение скорости (y / n) y
Теперь переключитесь из этой учетной записи, чтобы вернуться к учетной записи root:
exit
Теперь перезапустите службу SSH
service ssh restart
Теперь просто запустите сеанс ssh для пользователя, для которого вы его настроили, и он сначала запросит код подтверждения, который вы можете ввести со своего мобильного телефона, а затем запросит пароль пользователя.
Это все, что требуется для настройки двухфакторной аутентификации. Пожалуйста, не стесняйтесь улучшать ответ там, где требуется, и, пожалуйста, извините меня за не очень хороший язык.
auth optional
вместоauth required
. В противном случае вход в систему невозможен, если сеанс завершается сбоем и процесс не завершен.