Ваш аккаунт Docker публикует образы, которые скачивают другие люди. Тот, кто войдёт с вашим паролем, сможет запушить отравленный образ от вашего имени, удалить репозитории или создать токены доступа на будущее. С 2FA Docker запрашивает ещё и шестизначный код из аутентификатора при входе в Docker Hub или Docker Home.
Включите двухфакторную аутентификацию для аккаунта Docker
Понадобятся пароль Docker и подтверждённый адрес электронной почты в аккаунте. Docker допускает только один аутентификатор на аккаунт, а после включения 2FA Docker CLI больше не принимает ваш пароль для docker login -u, скриптов и CI — для них создайте personal access token.
- Войдите в аккаунт Docker на app.docker.com с компьютера.
- Нажмите на аватар в правом верхнем углу и выберите «Account settings» (настройки аккаунта).
- Выберите «2FA», введите пароль от аккаунта и нажмите «Confirm» (подтвердить).
- Сначала Docker покажет код восстановления. Нажмите «Copy» (копировать) или откройте меню рядом с ним и выберите «Download» (скачать) или «Print» (печать) — и храните код не на этом компьютере.
- Docker покажет QR-код на вкладке «QR Code». Не закрывайте страницу и добавьте его в расширение, как описано ниже, — ключ есть на вкладке «Text Code», — затем введите код из расширения в поле «Authentication code» (код аутентификации) и нажмите «Enable 2FA» (включить 2FA).
Добавьте Docker Hub в Аутентификатор
- Установите Аутентификатор 2FA из Chrome Web Store и закрепите его на панели инструментов, чтобы значок был под рукой.
- Не закрывайте страницу Docker Hub с QR-кодом. Нажмите на значок расширения, затем «Добавить аккаунт» → «QR-код» → «Сканировать QR с экрана».
- Аккаунт появится в списке с шестизначным кодом, который меняется каждые 30 секунд. При желании переименуйте его — название видите только вы.
- Вернитесь в Docker Hub и введите текущий код в поле подтверждения. Если код вот-вот сменится, дождитесь следующего.
- Docker Hub подтвердит, что двухфакторная аутентификация включена. Теперь при входе будет запрашиваться код — нажмите на значок расширения и скопируйте его.
QR-кода нет или он не сканируется? Найдите на экране настройки в Docker Hub вариант ручного ввода ключа, скопируйте ключ и добавьте его в расширении: «Добавить аккаунт» → «Вручную» → «Секретный ключ».
Установить Аутентификатор 2FA в Chrome — бесплатноСохраните код восстановления Docker
Docker выдаёт один код восстановления — его показывают при настройке, до QR-кода. Он позволит войти, если вы потеряете аутентификатор, — но только один раз: при использовании он отключает 2FA и удаляется, после чего 2FA нужно включить снова. Если вы потеряли код, но ещё можете войти, откройте «Account settings» → «2FA», подтвердите пароль и нажмите «Generate new code» (создать новый код); новый код заменит старый.
Код не принимается?
Чаще всего сменился QR-код: сайт делает новый каждый раз, когда страницу настройки обновляют или открывают заново, и аккаунт, добавленный первым, больше не подходит. Начните настройку заново, добавьте QR-код, который сейчас на экране, и сразу введите его код. Две записи для одного сайта? Берите самую новую. Другие причины: почему коды не принимаются.
Вводили ключ вручную? Вставьте его в генератор TOTP-кодов и сравните код с тем, что показывает расширение. Если они отличаются, ключ скопирован с ошибкой — добавьте аккаунт заново.
Вопросы
- Можно ли пользоваться 2FA в Docker Hub без телефона?
- Да. Docker пишет, что подойдёт любое приложение-аутентификатор с поддержкой TOTP, и проверяет только шестизначный код. Расширение Аутентификатор считывает QR-код прямо со страницы Docker и генерирует коды в Chrome — телефон не нужен.
- Как пользоваться docker login с включённой 2FA?
- Выполните docker login без имени пользователя, чтобы войти через браузер, где вы вводите пароль и код из расширения. Для docker login -u, скриптов и CI Docker больше не принимает ваш пароль: создайте personal access token и вводите его в ответ на запрос пароля.
- Что делать, если я потерял доступ к аутентификатору?
- Войдите с именем пользователя и паролем, на странице двухфакторной аутентификации выберите «I’ve lost my authentication device» (я потерял устройство аутентификации) и введите код восстановления. Так вы войдёте, а 2FA отключится — сразу включите её снова. Без кода восстановления воспользуйтесь формой Contact Support от Docker для случаев блокировки из-за 2FA.
- Как перенести 2FA Docker в другой аутентификатор?
- Docker допускает только один аутентификатор на аккаунт, так что добавить второй нельзя. Чтобы перейти на новое приложение или устройство, отключите 2FA в «Account settings» → «2FA» и включите её снова, отсканировав новый QR-код нужным приложением.
Коды в одном клике от страницы входа
Аутентификатор хранит коды 2FA в браузере и только на вашем устройстве. Пользоваться им можно бесплатно, исходный код открыт, аккаунт и телефон не нужны. Локальные бэкапы и защита паролем по желанию уже встроены.
Установить Аутентификатор 2FA в Chrome — бесплатно