Перейти к содержимому
>_ITDITDПлатформа веб-безопасности

Руководства по безопасности

Настройка двухфакторной аутентификации (2FA) на GitHub: приложение-аутентификатор, passkey, коды восстановления и что делать при потере телефона

Как настроить 2FA на GitHub по GitHub Docs: сначала приложение-аутентификатор, passkey как резерв, хранение кодов восстановления, восстановление доступа при потере устройства (до 3 рабочих дней), переход с SMS.

Опубликовано 2026-10-06 Обновлено 2026-10-06 Последняя проверка 2026-10-06 16 мин чтения

Для кого: для тех, кто хочет добавить к своему аккаунту GitHub двухфакторную аутентификацию (2FA: подтверждение того, что это вы, с помощью приложения или ключа в дополнение к паролю), для тех, кто получил от GitHub уведомление «включите 2FA», и для тех, кто сменил или потерял телефон и больше не может получить код. Руководство основано на GitHub Docs — официальной документации GitHub. Интерфейс GitHub на английском, поэтому названия кнопок приведены так, как они выглядят на экране, с переводом при необходимости.

Кому на GitHub обязательно нужна 2FA

С марта 2023 года GitHub поэтапно, по одной группе за раз, вводит обязательную 2FA для пользователей, которые публикуют код на GitHub.com. GitHub Docs перечисляет такие условия:

  • Публикация приложения или action для других
  • Создание релиза для своего репозитория
  • Участие в определённых особо важных репозиториях (например, в проектах, которые отслеживает Open Source Security Foundation) или роль их администратора либо участника
  • Владение организацией, в которой есть репозитории или другие пользователи
  • Роль администратора или участника репозитория, опубликовавшего один или несколько пакетов
  • Роль администратора предприятия (enterprise)

GitHub отмечает, что эти критерии со временем могут меняться. Когда выбирают вашу группу, приходит письмо-уведомление, начинается 45-дневный период подключения, а на GitHub.com появляются баннеры. Если письма не было, вы не входите в обязательную группу, но GitHub всё равно настоятельно рекомендует включить 2FA.

45 дней
От уведомления до крайнего срока подключения
7 дней
Льготный период; после него GitHub.com заблокирован, пока 2FA не включена
28 дней
Период проверки после включения 2FA
16
Кодов восстановления, каждый одноразовый

После 7-дневного льготного периода доступ к GitHub.com закрыт, пока вы не включите 2FA. Существующие персональные токены доступа (токены API) и токены OAuth продолжают работать, чтобы автоматизация не сломалась. Однако заблокированный аккаунт не может авторизовать новые приложения или создавать новые токены.

Подтверждение по почте не считается 2FA

У аккаунтов без 2FA могут попросить подтвердить новое устройство кодом из письма. GitHub Docs прямо указывает, что эта проверка по почте — не 2FA.

Причина: тот, кто контролирует ваш почтовый ящик, может и сбросить пароль, и пройти проверку по почте. Второй фактор должен быть отдельным от почты — например, приложение-аутентификатор или passkey.

Какой метод использовать

GitHub поддерживает пять методов 2FA. GitHub Docs рекомендует приложение-аутентификатор (TOTP) как основной метод и passkey или ключ безопасности как резервный. Если ни того ни другого нет, хорошим резервом GitHub называет GitHub Mobile.

МетодМожет ли быть первым методом?Позиция GitHub DocsПримечания
Приложение-аутентификатор (TOTP)ДаРекомендуемый основной методGitHub рекомендует приложения с облачным резервным копированием
SMS (текстовое сообщение)ДаНе рекомендуетсяМожно перехватить, не устойчиво к фишингу; доступно не во всех странах
PasskeyНет (после TOTP или SMS)Рекомендуемый резервЗаменяет и пароль, и 2FA за один шаг
Ключ безопасностиНет (после TOTP или SMS)Рекомендуемый резервСчитается только вторым фактором, используется вместе с паролем
GitHub MobileНет (после TOTP или SMS)Резерв, если нет passkey или ключаВы подтверждаете push-уведомление в приложении

TOTP (одноразовый пароль на основе времени) — это приложение, которое каждые 30 секунд показывает новое 6-значное число. GitHub не привязан к конкретному приложению, поэтому подойдут Google Authenticator, Microsoft Authenticator, 1Password или любое другое TOTP-приложение.

Passkey и ключи безопасности не могут быть первым методом, потому что, по GitHub Docs, их легко потерять, а синхронизируются они пока на слишком узком круге устройств. Поэтому порядок такой: включите 2FA с приложением-аутентификатором, затем добавьте passkey.

Основной: приложение-аутентификатор

TOTP-приложение на телефоне с включённым облачным резервным копированием

Резерв: passkey или ключ безопасности

Passkey на компьютере или аппаратный ключ, чтобы потеря телефона не лишила вас доступа

Крайний случай: коды восстановления

16 кодов, сохранённых отдельно от телефона, например в менеджере паролей

Схема, которую рекомендует этот сайт: основной метод, резервный метод и коды восстановления хранятся в разных местах.

Шаги настройки (начните с приложения-аутентификатора)

1

Установите приложение-аутентификатор

Установите TOTP-приложение на телефон или компьютер. GitHub Docs рекомендует приложение, которое сохраняет коды в облаке, чтобы после смены или потери телефона новое устройство выдавало те же коды.

2

Откройте «Password and authentication»

Нажмите на фото профиля в правом верхнем углу любой страницы GitHub, затем «Settings». В разделе «Access» боковой панели нажмите «Password and authentication» (пароль и аутентификация).

3

Включите 2FA и отсканируйте QR-код

В разделе «Two-factor authentication» нажмите «Enable two-factor authentication». Отсканируйте QR-код приложением и введите 6-значный код в поле под «Verify the code from the app» (подтвердите код из приложения).

Если отсканировать не получается, нажмите «setup key» — появится код, который можно ввести в приложение вручную.

4

Сохраните коды восстановления и завершите

В разделе «Save your recovery codes» нажмите «Download». Сохранив их, нажмите «I have saved my recovery codes», чтобы включить 2FA. Где их хранить, описано в следующем разделе.

5

Добавьте passkey как второй метод

На той же странице в разделе «Passkeys» нажмите «Add a passkey», подтвердите паролем или другим методом и следуйте подсказкам. Как passkey можно зарегистрировать встроенные аутентификаторы, например Windows Hello, Face ID и Touch ID.

Для аппаратного ключа безопасности нажмите «Add» рядом с «Security keys», затем «Register new security key». Для GitHub Mobile войдите в приложение и разрешите push-уведомления — после этого устройство станет доступно для 2FA.

6

Войдите с 2FA в течение 28 дней

После включения 2FA аккаунт входит в 28-дневный период проверки. Успешный вход с 2FA в этот период завершает его. Если к 28-му дню такого входа не было, GitHub попросит выполнить 2FA, а если это не удастся, придётся заново настроить 2FA.

Как хранить коды восстановления

Коды восстановления — одноразовые коды, которые позволяют войти в аккаунт, когда недоступны все методы 2FA. Их 16, и каждый перестаёт работать после использования.

Хорошие места

  • Менеджер паролей (рекомендует GitHub Docs)
  • Распечатка, хранящаяся в известном месте дома
  • Зашифрованный внешний носитель

Места, которых стоит избегать

  • Только тот же телефон, где стоит приложение-аутентификатор (потеряете телефон — потеряете и то и другое)
  • Оставленный в папке «Загрузки» файл (имя по умолчанию github-recovery-codes.txt)
  • Отправка кому-либо в чате или по почте

Чтобы позже снова их посмотреть, нажмите «View» рядом с «Recovery codes» на странице «Password and authentication», затем используйте «Download», «Print» или «Copy». Создание новых кодов восстановления делает недействительными все ранее созданные, поэтому сразу сохраните новый набор.

GitHub Docs также называет способами восстановления SSH-ключи и персональные токены доступа. Он рекомендует сохранять cookie GitHub.com: если браузер каждый день стирает cookie, у вас никогда не будет подтверждённого устройства для восстановления, потому что именно cookie _device_id доказывает, что вы раньше пользовались этим устройством.

Если вы потеряли или сменили телефон

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

Что у вас осталосьЧто делатьСколько времени
Код восстановленияНа экране входа «More options», затем «2FA recovery code»Сразу
Passkey или ключ безопасностиВойдите с нимСразу
Резервная копия приложения-аутентификатораВосстановите приложение на новом телефонеСразу
Пароль плюс ранее использованное устройство, SSH-ключ или персональный токен доступа«More options», затем «Begin account or email recovery»До трёх рабочих дней на рассмотрение поддержкой GitHub
Ничего из перечисленногоАккаунт не восстановить; отвяжите почту и используйте её с новым аккаунтом—
1

Сначала попробуйте код восстановления или passkey

Откройте https://github.com/login, введите имя пользователя и пароль, а когда попросят 2FA, откройте «More options». Выберите «2FA recovery code» и введите один код или воспользуйтесь passkey. Войдя, сразу заново настройте 2FA на новом телефоне.

2

Если ничего нет, запросите восстановление аккаунта

В «More options» нажмите «Begin account or email recovery» и введите одноразовый пароль, отправленный на ваши адреса почты. Затем выберите фактор подтверждения: «Verify with this device» (устройство, которым вы раньше пользовались с этим аккаунтом), SSH-ключ или персональный токен доступа.

Сотрудник поддержки GitHub рассмотрит запрос и ответит письмом в течение трёх рабочих дней. Дополнительные запросы, отправленные в это время, не рассматриваются. Если в течение 3–5 дней ожидания вы найдёте коды восстановления или другой метод 2FA, их можно использовать в любой момент.

Некоторые аккаунты не может восстановить даже поддержка GitHub

В GitHub Docs сказано, что из соображений безопасности поддержка GitHub не восстанавливает доступ к аккаунту с включённой 2FA, если вы потеряли и данные 2FA, и способы восстановления. Кроме того, SSH-ключи удаляются из аккаунтов после периода неактивности, так что старый ключ может не подойти.

В этом случае остаётся только отвязать адрес электронной почты от заблокированного аккаунта и привязать его к новому или существующему аккаунту. Настройте резервный метод и сохраните коды восстановления в тот же день, когда включаете 2FA.

Переход с SMS на приложение-аутентификатор

Если вы уже используете SMS, методы можно добавлять и менять, не отключая 2FA. Поскольку 2FA остаётся включённой, сохраняются коды восстановления и членство в организациях, требующих 2FA.

1

Добавьте приложение-аутентификатор

На странице «Password and authentication» в разделе «Two-factor methods» нажмите «Add» рядом с методом приложения-аутентификатора (TOTP). Отсканируйте QR-код, введите 6-значный код и нажмите «Save».

2

Сделайте его предпочтительным методом

В разделе «Two-factor authentication» в «Preferred 2FA method» (предпочтительный метод 2FA) выберите приложение-аутентификатор в выпадающем списке. Оно станет методом, который показывается первым при входе.

3

Удалите SMS, если оно больше не нужно

В списке «Two-factor methods» удалите SMS через меню рядом с ним. GitHub Docs советует участникам организаций, блокирующих небезопасные методы, сначала настроить безопасный метод, а затем удалить SMS. Перед удалением убедитесь, что можете войти с приложением.

Некоторые организации закрывают доступ участникам, использующим SMS

Владельцы организаций могут включить «Only allow secure two-factor methods» (разрешить только безопасные методы 2FA). Безопасными GitHub Docs называет passkey, ключи безопасности, приложения-аутентификаторы и GitHub Mobile. В такой организации участник, у которого настроен любой метод SMS, не может получить доступ к ресурсам организации.

Что ещё проверить заодно

2FA защищает вход. Уже выданные токены и ключи, а также уже авторизованные приложения остаются отдельными путями в ваш аккаунт. Проверка их в тот же день займёт всего несколько минут.

Что проверить в аккаунте GitHub
Добавить passkey
«Password and authentication», раздел «Passkeys», «Add a passkey». Работает как резерв для 2FA и позволяет входить без пароля
Токены со сроком действия
«Settings», «Developer settings», «Personal access tokens», «Fine-grained tokens», «Generate new token». Выберите «Expiration» (срок действия) и ограничьте доступ к репозиториям
Почистить авторизованные приложения
«Settings», «Applications», вкладки «Authorized OAuth Apps» и «Authorized GitHub Apps». Отзовите всё, что не узнаёте или больше не используете
Проверить SSH-ключи
«Settings», «SSH and GPG keys». Удалите незнакомые или старые ключи
Push protection для себя
«Settings», «Code security», «Push protection for yourself». Блокирует push с секретами в публичные репозитории (включено по умолчанию)
Оповещения Dependabot
«Settings», «Code security», «Dependabot alerts», «Enable all». Можно также включать их автоматически для новых репозиториев
Журнал безопасности
«Settings», «Security log» (в разделе «Archives»). Показывает действия за последние 90 дней

Предпочитайте fine-grained токены классическим

Персональный токен доступа (PAT: строка, которая используется вместо пароля для API и операций git) бывает двух типов — классический (classic) и детализированный (fine-grained). GitHub рекомендует по возможности использовать fine-grained токены, потому что классический токен даёт доступ ко всем репозиториям в организациях, к которым у вас есть доступ, и ко всем репозиториям вашего личного аккаунта.

GitHub автоматически удаляет токены, которые не использовались год, но всё равно настоятельно рекомендует задавать срок действия. Если GitHub нужен только из командной строки, GitHub CLI или Git Credential Manager позволяют вообще не создавать токен. Почему удаления утёкшего токена из репозитория недостаточно, разобрано в статье 543 699 учётных данных, опубликованных на GitHub, всё ещё работали (на английском).

Где работают secret scanning и push protection

Secret scanning (автоматическое обнаружение API-ключей и подобных секретов в коде) бесплатно и автоматически работает в публичных репозиториях. Push protection для репозитория включается в его «Settings», «Advanced Security»: сначала включите «Secret Protection», затем «Push protection».

Для приватных репозиториев, принадлежащих организации, нужна платная GitHub Secret Protection. Приватные репозитории в обычном личном аккаунте не покрываются. Для них пробел закрывает локальная проверка перед коммитом, например gitleaks.

Для владельцев организаций: требуйте 2FA от участников

В «Settings» организации в разделе «Authentication security» выберите «Require two-factor authentication for everyone in your organization» (требовать 2FA от всех в организации) и нажмите «Save». Это доступно на планах GitHub Free и GitHub Team. Если добавить «Only allow secure two-factor methods», доступ потеряют и участники, использующие SMS.

После включения участники без 2FA теряют доступ к ресурсам организации, а внешние соавторы без 2FA удаляются. Боты и служебные аккаунты тоже учитываются, поэтому предупредите людей заранее и перед переключением проверьте на странице «People», кто уже использует 2FA.

Чек-лист

ЗадачаГдеВремя
Включить 2FA с приложением-аутентификатором«Settings», «Password and authentication»5 мин
Сохранить коды восстановления в менеджере паролейТа же страница, «Recovery codes», «View»2 мин
Добавить passkey или ключ безопасностиТа же страница, «Passkeys» / «Security keys»3 мин
Войти с 2FA в течение 28 дней——
Заменить классические токены на fine-grained со сроком действия«Settings», «Developer settings»5 мин на токен
Почистить авторизованные приложения и SSH-ключи«Settings», «Applications» / «SSH and GPG keys»5 мин
Проверить push protection и оповещения Dependabot«Settings», «Code security»2 мин
Если вы владелец организации, потребовать 2FA«Settings» организации, «Authentication security»Несколько дней с учётом предупреждения

Источники (публичные)

Шаги, сроки и поведение в этом руководстве сверены с GitHub Docs и другими официальными страницами 6 октября 2026 года. Экраны и критерии GitHub меняются, поэтому перед действиями проверьте исходные страницы.

Читать дальше

FAQ

QГде включить двухфакторную аутентификацию на GitHub?
A

Нажмите на фото профиля в правом верхнем углу, выберите «Settings», затем в разделе «Access» боковой панели нажмите «Password and authentication». В разделе «Two-factor authentication» нажмите «Enable two-factor authentication» и настройте приложение-аутентификатор (TOTP) или SMS. Passkey, ключи безопасности и GitHub Mobile можно добавить после настройки TOTP или SMS.

QОбязательна ли 2FA на GitHub?
A

С марта 2023 года GitHub поэтапно, группами, требует 2FA от пользователей, которые публикуют код на GitHub.com. Среди условий — создание релиза, публикация приложения или action, роль администратора или участника репозитория, опубликовавшего пакеты, и владение организацией. Выбранные пользователи получают письмо, 45 дней на подключение и 7 дней льготного периода; после этого GitHub.com недоступен, пока 2FA не включена. Тех, кто уведомления не получал, это не обязывает, но GitHub настоятельно рекомендует включить 2FA.

QМожно ли использовать SMS для 2FA на GitHub?
A

В поддерживаемых странах — да; GitHub публикует их список. Но GitHub Docs настоятельно рекомендует вместо SMS приложение-аутентификатор (TOTP), потому что SMS можно перехватить, оно не устойчиво к фишингу и менее надёжно. Некоторые организации блокируют участников, у которых настроена 2FA через SMS.

QЯ потерял или сменил телефон и не могу получить код 2FA для GitHub. Что делать?
A

Сначала найдите коды восстановления (имя файла по умолчанию — github-recovery-codes.txt) и введите один из них на экране входа через «More options», затем «2FA recovery code». Подойдёт и зарегистрированный passkey или ключ безопасности. Если ничего из этого нет, выберите «Begin account or email recovery», подтвердите одноразовый пароль из письма и докажите свою личность ранее использованным устройством, SSH-ключом или персональным токеном доступа. Поддержка GitHub рассмотрит запрос и ответит письмом в течение трёх рабочих дней.

QКоды восстановления я тоже потерял. Может ли поддержка GitHub восстановить аккаунт?
A

Нет. В GitHub Docs сказано, что из соображений безопасности поддержка GitHub не может восстановить доступ к аккаунту с включённой 2FA, если вы потеряли данные 2FA и способы восстановления. В этом случае аккаунт потерян; можно лишь отвязать адрес электронной почты от заблокированного аккаунта и использовать его с новым.

QКак перейти с SMS на приложение-аутентификатор?
A

В «Password and authentication» в разделе «Two-factor methods» нажмите «Add» рядом с методом приложения-аутентификатора (TOTP), отсканируйте QR-код, введите 6-значный код и нажмите «Save». Затем выберите приложение в «Preferred 2FA method» и удалите SMS, если оно больше не нужно. Отключать 2FA не требуется, поэтому коды восстановления остаются действительными.