
Мы можем использовать Google Authenticator для включения двухфакторной аутентификации (2FA) на Ubuntu 24.04, 22.04, 20.04 или предыдущих версиях. Это руководство поможет пользователям установить Google Authenticator с PAM на Ubuntu и другие серверные дистрибутивы на базе Debian. А также как настроить Google Authenticator для входа по SSH на Ubuntu для повышения безопасности сервера.
Зачем нам нужна двухфакторная аутентификация (2FA)?
Добавление дополнительного уровня безопасности при входе на сервер или в некоторые службы помогает предотвратить множество несанкционированных попыток, которые могут привести к нарушению безопасности. Например, введение OTP при входе в банковский аккаунт — лучший пример, чтобы понять, насколько полезной может быть 2FA. Таким образом, двухфакторная аутентификация (2FA) стала критически важным уровнем безопасности, поскольку угрозы кибербезопасности становятся все более изощренными.
Настройка Google Authenticator в Linux (Ubuntu)
Шаг 1: Обновите системный APT
Чтобы легко установить Google Authenticator с помощью стандартного менеджера пакетов Ubuntu, перед выполнением остальных шагов необходимо выполнить команду обновления системы:
sudo apt update && sudo apt upgrade
Шаг 2: Установка Google Authenticator на сервер Ubuntu
Пакет для установки Google Authenticator на Linux доступен в системном репозитории Ubuntu по умолчанию, поэтому мы можем использовать стандартный менеджер пакетов APT Ubuntu для установки Authenticator.
sudo apt install libpam-google-authenticator
Чтобы убедиться, что он установлен в нашей системе, мы можем проверить его версию:
google-authenticator --version
Шаг 2: Настройте Google Authenticator для учетной записи пользователя
На сервере или рабочем столе Ubuntu, который вы хотите защитить с помощью 2FAВыполните приведенную команду, чтобы настроить Google Authenticator для текущего пользователя.
google-authenticator
Следуйте подсказкам на экране:
- Ответ «да«, чтобы обновить
.google_authenticator
файл конфигурации. - Вы увидите QR-код и секретный ключ. Отсканируйте этот QR-код с помощью приложения Google Authenticator на вашем телефоне, которое доступно для Android и iPhone.
- Система попросит вас ввести код, сгенерированный в приложении Google Authenticator для отсканированного QR-кода , чтобы убедиться, что он работает.
- После этого он также предоставит аварийные скретч-коды (одноразовые коды), которые можно использовать, если вы потеряете доступ к приложению аутентификатора. Сохраните их в безопасном месте.
- Следующие параметры конфигурации позволяют:
- Ограничить повторное использование кода (рекомендуется ответить «да»).
- Установить ограничение на количество токенов по времени (рекомендуется ответить «да»).
- Включите ограничение скорости для предотвращения атак методом перебора (выберите «да»).

Шаг 3: Включите Google Authenticator в SSH
Мы успешно настроили аутентификатор на Ubuntu. Теперь давайте посмотрим, как интегрировать его с SSH, чтобы использовать OTP или проверочный код для удаленного входа на сервер Ubuntu с помощью SSH.
Отредактируйте файл конфигурации SSH: Откройте /etc/ssh/sshd_config
в текстовом редакторе:
sudo nano /etc/ssh/sshd_config
Обновить настройки аутентификации: Найдите и измените следующие строки:
# Убедитесь, что PAM включен
UsePAM yes
# Установите KbdInteractiveAuthentication yes
KbdInteractiveAuthentication yes
(необязательно) Если вы хотите использовать пароль вместо Открытый ключ, откомментируйте и установите «PasswordAuthentication» to да.
PasswordAuthentication yes
Примечание: Если вы хотите включить аутентификацию с помощью открытого ключа вместо аутентификации с помощью пароля, откомментируйте строку «PubkeyAuthentication yes»
Сохраните и закройте файл: Сохраните изменения и выйдите из редактора.

Шаг 4: Настройте PAM на использование аутентификатора Google
Отредактируйте файл PAM SSH: Откройте /etc/pam.d/sshd
в текстовом редакторе:
sudo nano /etc/pam.d/sshd
Добавьте строку Google Authenticator:
Добавьте следующую строку в начало файла, чтобы включить Google Authenticator:
auth required pam_google_authenticator.so
Сохраните и закройте файл:

Шаг 5: Перезапустите SSH и протестируйте
Перезапустите службу SSH:
sudo systemctl restart sshd
Проверьте свою конфигурацию: Откройте новый сеанс SSH. Лучше всего настроить сервер таким образом, чтобы он предлагал вам ввести пароль, а затем код Google Authenticator.
Синтаксис для паролей пользователей:
ssh username@server-ipadress
Синтаксис для пользователей с открытым ключом:
ssh -i /path-to-key user@remote_server_ip

Необязательно: Применять 2FA для всех пользователей
Если вы хотите, чтобы все пользователи использовали Google Authenticator, повторите процесс настройки (google-authenticator
) для каждого пользователя. Будьте осторожны с учетными записями root или критических систем, чтобы не заблокировать себя.
Заключение
Установив Google Authenticator на Ubuntu 24.04, вы добавили мощную функцию безопасности, которая требует от пользователей ввода кода, сгенерированного на их мобильных устройствах. Это помогает добавить дополнительный уровень безопасности, не позволяя пользователям получить удаленный доступ к серверу Linux. Даже если кто-то получит доступ к вашему паролю, он не сможет войти в систему без кода 2FA.