Аккаунт GitLab пушит код, одобряет merge requests, запускает CI-пайплайны и хранит переменные и токены, с которыми они деплоят, — тот, кто войдёт под вами, сможет выкатить код от вашего имени. С 2FA одного пароля для входа уже мало. Группы и инстансы тоже могут её требовать, так что вас могут попросить включить её, прежде чем пустить в проект.
Зарегистрируйте аутентификатор в GitLab
После включения 2FA ваш пароль перестаёт работать для Git по HTTPS и GitLab API — создайте personal access token и используйте его вместо пароля. На self-managed GitLab вашей компании экраны те же; открывайте их на этом инстансе, а не на GitLab.com.
- Войдите в GitLab с компьютера.
- Нажмите на аватар в правом верхнем углу, затем «Edit profile» (редактировать профиль).
- В левой боковой панели выберите «Access» → «Password and authentication» (доступ → пароль и аутентификация).
- В разделе «One-time password authenticator» (аутентификатор одноразовых паролей) выберите «Register authenticator» (зарегистрировать аутентификатор).
- GitLab покажет QR-код. Не закрывайте страницу и добавьте его в расширение, как описано ниже, — данные для ручного ввода показаны рядом, — затем введите текущий пароль и код из расширения и выберите «Register with two-factor app» (зарегистрировать с приложением 2FA).
Добавьте GitLab в Аутентификатор
- Установите Аутентификатор 2FA из Chrome Web Store и закрепите его на панели инструментов, чтобы значок был под рукой.
- Не закрывайте страницу GitLab с QR-кодом. Нажмите на значок расширения, затем «Добавить аккаунт» → «QR-код» → «Сканировать QR с экрана».
- Аккаунт появится в списке с шестизначным кодом, который меняется каждые 30 секунд. При желании переименуйте его — название видите только вы.
- Вернитесь в GitLab и введите текущий код в поле подтверждения. Если код вот-вот сменится, дождитесь следующего.
- GitLab подтвердит, что двухфакторная аутентификация включена. Теперь при входе будет запрашиваться код — нажмите на значок расширения и скопируйте его.
QR-кода нет или он не сканируется? Найдите на экране настройки в GitLab вариант ручного ввода ключа, скопируйте ключ и добавьте его в расширении: «Добавить аккаунт» → «Вручную» → «Секретный ключ».
Установить Аутентификатор 2FA в Chrome — бесплатноСкачайте коды восстановления GitLab
Когда код принят, GitLab покажет коды восстановления. Скопируйте или распечатайте их либо нажмите «Download codes», чтобы сохранить gitlab-recovery-codes.txt, и храните их не на этом компьютере. Каждый код действует один раз. Чтобы получить новый набор, откройте «Password and authentication» → «Regenerate recovery codes» и введите пароль — старые коды перестанут действовать.
Код не принимается?
Чаще всего сменился QR-код: сайт делает новый каждый раз, когда страницу настройки обновляют или открывают заново, и аккаунт, добавленный первым, больше не подходит. Начните настройку заново, добавьте QR-код, который сейчас на экране, и сразу введите его код. Две записи для одного сайта? Берите самую новую. Другие причины: почему коды не принимаются.
Вводили ключ вручную? Вставьте его в генератор TOTP-кодов и сравните код с тем, что показывает расширение. Если они отличаются, ключ скопирован с ошибкой — добавьте аккаунт заново.
Вопросы
- Можно ли пользоваться аутентификатором для GitLab без телефона?
- Да. GitLab перечисляет приложения для телефона — Google Authenticator, Microsoft Authenticator и Authy, — но проверяет только шестизначный код, а его выдаёт любое приложение со стандартными кодами на основе времени. Расширение Аутентификатор считывает QR-код прямо со страницы GitLab и хранит коды в Chrome.
- Что делать, если я потерял доступ к аутентификатору?
- На экране двухфакторной проверки выберите «Recover your account» (восстановить аккаунт) и введите код восстановления. Их тоже потеряли? Если к аккаунту по-прежнему привязан SSH-ключ, выполните ssh git@gitlab.com 2fa_recovery_codes и подтвердите ответом yes, чтобы получить новый набор. Поддержка GitLab сбрасывает 2FA только для платных аккаунтов GitLab.com (Premium или Ultimate) — на бесплатном аккаунте потеря всех способов закрывает доступ навсегда.
- Почему git push не принимает пароль после включения 2FA?
- С 2FA GitLab больше не принимает ваш пароль для Git по HTTPS и API. Создайте personal access token и вводите его там, где Git спрашивает пароль, — или пушьте по SSH: там используется SSH-ключ, и это не затрагивается.
- Почему GitLab пишет, что код неверный?
- Обычно сменился QR-код: если вы ушли со страницы и начали регистрацию заново, GitLab создал новый, и аккаунт, добавленный первым, больше не подходит. Удалите его из расширения, добавьте QR-код, который сейчас на экране, и сразу введите его код. Если в расширении две записи для GitLab, берите самую новую.
Коды в одном клике от страницы входа
Аутентификатор хранит коды 2FA в браузере и только на вашем устройстве. Пользоваться им можно бесплатно, исходный код открыт, аккаунт и телефон не нужны. Локальные бэкапы и защита паролем по желанию уже встроены.
Установить Аутентификатор 2FA в Chrome — бесплатно