Сегодня мы на Product Hunt! Оставить комментарий

Аутентификатор для Docker Hub

Двухфакторная аутентификация Docker работает с любым приложением-аутентификатором с поддержкой TOTP — в том числе в браузере. В аккаунте Docker откройте «Account settings» → «2FA», сохраните код восстановления и отсканируйте QR-код с экрана расширением Аутентификатор.

Ваш аккаунт Docker публикует образы, которые скачивают другие люди. Тот, кто войдёт с вашим паролем, сможет запушить отравленный образ от вашего имени, удалить репозитории или создать токены доступа на будущее. С 2FA Docker запрашивает ещё и шестизначный код из аутентификатора при входе в Docker Hub или Docker Home.

Включите двухфакторную аутентификацию для аккаунта Docker

Понадобятся пароль Docker и подтверждённый адрес электронной почты в аккаунте. Docker допускает только один аутентификатор на аккаунт, а после включения 2FA Docker CLI больше не принимает ваш пароль для docker login -u, скриптов и CI — для них создайте personal access token.

  1. Войдите в аккаунт Docker на app.docker.com с компьютера.
  2. Нажмите на аватар в правом верхнем углу и выберите «Account settings» (настройки аккаунта).
  3. Выберите «2FA», введите пароль от аккаунта и нажмите «Confirm» (подтвердить).
  4. Сначала Docker покажет код восстановления. Нажмите «Copy» (копировать) или откройте меню рядом с ним и выберите «Download» (скачать) или «Print» (печать) — и храните код не на этом компьютере.
  5. Docker покажет QR-код на вкладке «QR Code». Не закрывайте страницу и добавьте его в расширение, как описано ниже, — ключ есть на вкладке «Text Code», — затем введите код из расширения в поле «Authentication code» (код аутентификации) и нажмите «Enable 2FA» (включить 2FA).
Официальная инструкция: Docker Hub

Добавьте Docker Hub в Аутентификатор

  1. Установите Аутентификатор 2FA из Chrome Web Store и закрепите его на панели инструментов, чтобы значок был под рукой.
  2. Не закрывайте страницу Docker Hub с QR-кодом. Нажмите на значок расширения, затем «Добавить аккаунт» → «QR-код» → «Сканировать QR с экрана».
  3. Аккаунт появится в списке с шестизначным кодом, который меняется каждые 30 секунд. При желании переименуйте его — название видите только вы.
  4. Вернитесь в Docker Hub и введите текущий код в поле подтверждения. Если код вот-вот сменится, дождитесь следующего.
  5. 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 — бесплатно