Гид по технологиям

Настройка Google Authenticator для SSH

5 min read Безопасность Обновлено 19 Dec 2025
Google Authenticator для SSH — настройка и защита
Google Authenticator для SSH — настройка и защита

Быстрые ссылки

  • Установка Google Authenticator
  • Создание ключа аутентификации
  • Активация Google Authenticator

К чему это служит

Этот гид показывает, как добавить второй фактор (временные одноразовые коды — TOTP) к входу по SSH. После настройки при входе потребуется и пароль, и код из приложения на телефоне. Google Authenticator — открытый проект: проверка происходит только на сервере и на вашем устройстве, данные не отправляются в Google.

Установка Google Authenticator

Для интеграции нам нужен открытый PAM-модуль Google Authenticator. PAM означает «подключаемый модуль аутентификации» — способ гибко добавлять разные методы аутентификации в Linux.

В Ubuntu модуль доступен в репозитории и устанавливается одной командой. Если в вашей дистрибуции пакета нет, придётся скачать исходники и собрать модуль вручную.

Выполните команду (под sudo):

sudo apt-get install libpam-google-authenticator

Важно: эта команда устанавливает только PAM-модуль. Чтобы 2FA работал для SSH, нужно вручную включить его в конфигурации PAM и SSH (см. разделы ниже).

Создание ключа аутентификации

Войдите под тем пользователем, под которым вы планируете подключаться по SSH, и выполните команду:

google-authenticator

Команда создаст секрет пользователя и предложит ответить на несколько вопросов. Рекомендации при ответах:

  • Разрешите обновление файлов (ответьте y), чтобы сохранить секрет и параметры.
  • Ограничение повторных попыток и уменьшение допустимого окна времени повышают безопасность, но усложняют восстановление при проблемах.

Пример вывода google-authenticator с секретом и резервными кодами

Сохраните «аварийные» одноразовые коды (scratch codes) в надёжном месте — это одноразовые коды для восстановления при утере телефона.

QR-код и URL для добавления аккаунта в приложение

Добавьте секрет в приложение Google Authenticator на телефоне или используйте сканирование QR-кода. После этого на телефоне будет постоянно генерироваться шестизначный код, действующий короткое время.

Экран приложения Google Authenticator с шестизначным кодом

Если вы намерены подключаться как несколько пользователей — выполните google-authenticator для каждого пользователя отдельно; у каждого будет свой секрет и коды.

Активация Google Authenticator для SSH

  1. Откройте файл /etc/pam.d/sshd и добавьте строку в начало (или рядом с другими auth-строками):
auth required pam_google_authenticator.so
  1. Откройте /etc/ssh/sshd_config и найдите параметр ChallengeResponseAuthentication. Убедитесь, что он включён:
ChallengeResponseAuthentication yes

Если строки нет — добавьте её.

  1. Перезапустите SSH-сервис, чтобы изменения вступили в силу:
sudo service ssh restart

После этого при подключении по SSH вас будут запрашивать пароль и код из приложения.

Иллюстрация входа в систему с двухфакторной проверкой

Важно: перед завершением настройки откройте отдельный сеанс SSH и проверьте, что вход работает. Не закрывайте действующий сеанс до успешной проверки, чтобы избежать блокировки доступа.

Рекомендации по безопасности и надёжности

  • Сохраняйте аварийные коды в зашифрованном менеджере паролей или в офлайновом хранилище. Каждый код можно использовать только один раз.
  • Настройте ограничения попыток входа и fail2ban для защиты от брутфорса.
  • При использовании авторизации по ключу SSH можно комбинировать ключи и 2FA: заставляйте вводить код только для паролей или для всех входов по SSH в зависимости от политики.
  • Планируйте процедуру восстановления доступа: кто имеет право сбросить 2FA, какие логи и проверки нужны.

Когда это не подходит

  • Если у вас полностью автоматизированные скрипты, которые требуют неразрывного доступа по SSH без интерактивного ввода, TOTP усложнит работу. В таких случаях используйте ключи SSH с ограничениями по команде и привилегиям.
  • Если у пользователей нет защищённых телефонов или корпоративной политики запрещает личные устройства, рассмотрите аппаратные ключи U2F/FIDO2 или централизованные решения 2FA.

Альтернативные подходы

  • Аппаратные токены (U2F/FIDO2): выше безопасность и удобство для корпоративных пользователей.
  • Централизованные решения (например, RADIUS/LDAP + 2FA): удобны при большом парке серверов и единой политике.
  • One-time passwords через SMS: проще, но менее безопасно из-за уязвимостей оператора и перехвата.

Чек-листы по ролям

Администратор:

  • Установить libpam-google-authenticator.
  • Включить строку pam_google_authenticator в /etc/pam.d/sshd.
  • Включить ChallengeResponseAuthentication в /etc/ssh/sshd_config.
  • Перезапустить SSH и протестировать для нескольких учётных записей.

Пользователь:

  • Выполнить google-authenticator под своей учётной записью.
  • Сохранить аварийные коды в безопасном месте.
  • Добавить аккаунт в приложение (сканировать QR или ввести секрет вручную).

Офис безопасности/операции:

  • Определить правила восстановления доступа и назначить ответственных.
  • Внедрить мониторинг и оповещения о неудачных входах.

План отката и сценарий инцидента

Если после включения 2FA вы случайно потеряли доступ:

  1. Используйте действующий сеанс администратора (если открыт) для отключения pam_google_authenticator в /etc/pam.d/sshd или временного изменения sshd_config.
  2. Если нет текущих сеансов, восстановите доступ через консоль хоста (KVM, облачную панель) и откатьте изменения.
  3. После восстановления доступа сбросьте секрет проблемного пользователя и создайте новые резервные коды.

Критерии приёмки

  • Пользователь проходит вход по паролю и коду из приложения.
  • Аварийные коды созданы и сохранены пользователем.
  • Документация и план восстановления утверждены и доступны.

Небольшой глоссарий

  • PAM — модульная система аутентификации в Unix-подобных системах.
  • TOTP — временные одноразовые пароли (Time-based One-Time Password).
  • Scratch codes — резервные одноразовые коды для восстановления доступа.

Итог

Внедрение Google Authenticator для SSH даёт существенный прирост безопасности при относительно простой настройке: установка PAM-модуля, генерация секретов для пользователей и включение проверки в конфигурации SSH. Обязательно подготовьте процедуру восстановления и протестируйте все изменения, прежде чем отключить существующие сессии.

Важно: выбирайте метод 2FA, который соответствует политике вашей организации и условиям использования (автоматизация, мобильные устройства, аппаратные токены).

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как изменить голос Alexa и настройки речи
Умный дом

Как изменить голос Alexa и настройки речи

Установить VirtualBox и создать VM на Linux
Виртуализация

Установить VirtualBox и создать VM на Linux

Как пожаловаться на пользователя в Snapchat
соцсети

Как пожаловаться на пользователя в Snapchat

Связывание заметок в Apple Notes на iPhone
iOS

Связывание заметок в Apple Notes на iPhone

Лазерная гравировка по стеклу — практическое руководство
DIY

Лазерная гравировка по стеклу — практическое руководство

PayPal в Apple ID: добавить и удалить
Инструкции

PayPal в Apple ID: добавить и удалить