Docker アカウントは、ほかの人が pull するイメージを公開しています。あなたのパスワードでログインした人は、あなたの名前で汚染されたイメージを push したり、リポジトリを削除したり、後で使うアクセストークンを作ったりできます。2FA をオンにすると、Docker Hub や Docker Home へのサインイン時に、認証アプリの 6 桁のコードも求められます。
Docker アカウントで二段階認証を有効にする
Docker のパスワードと、アカウントに登録済みの確認済みメールアドレスが必要です。Docker では認証アプリは 1 アカウントに 1 つだけです。また 2FA をオンにすると、Docker CLI の docker login -u、スクリプト、CI ではパスワードが使えなくなります。それらにはパーソナルアクセストークンを作成してください。
- パソコンで app.docker.com から Docker アカウントにサインインします。
- 右上のアバターを選び、「Account settings」(アカウント設定)を選びます。
- 「2FA」を選び、アカウントのパスワードを入力して「Confirm」(確認)を選びます。
- 最初にリカバリーコードが表示されます。「Copy」(コピー)を選ぶか、横のメニューから「Download」(ダウンロード)または「Print」(印刷)を選び、このパソコン以外の場所に保管します。
- 「QR Code」タブに QR コードが表示されたら、そのページを開いたまま下の手順で拡張機能に追加します。キーは「Text Code」(テキストコード)タブにあります。その後、拡張機能のコードを「Authentication code」(認証コード)に入力し、「Enable 2FA」(2FA を有効化)を選びます。
Docker Hub を Authenticator に追加する
- Chrome Web Store から 2FA 認証システム をインストールし、ツールバーに固定して、ワンクリックでアイコンを開けるようにします。
- Docker Hub の QR コードが表示されたページは開いたままにします。Authenticator のアイコンをクリックし、「アカウント追加」→「QRコード」→「画面からQRをスキャン」の順に選びます。
- アカウントがリストに追加され、30 秒ごとに変わる 6 桁のコードが表示されます。名前は自由に変更できます。名前は自分用の表示にすぎません。
- Docker Hub に戻り、表示中のコードを確認欄に入力します。期限切れ間近なら、次のコードを待ちましょう。
- Docker Hub で二段階認証が有効になったことが表示されます。以降はログインのたびにコードを求められるので、拡張機能のアイコンをクリックしてコピーしてください。
QR コードがない、またはスキャンできない場合は、Docker Hub の設定画面でキーを手動入力するオプションを探してキーをコピーし、拡張機能の「アカウント追加」→「手動入力」→「シークレットキー」から追加します。
2FA 認証システム を Chrome に追加(無料)Docker のリカバリーコードを保管する
Docker のリカバリーコードは 1 つだけで、設定中に QR コードより先に表示されます。認証アプリを失くしたときにサインインできますが、使えるのは一度だけです。使うと 2FA がオフになってコードは削除されるので、その後 2FA をオンに戻します。まだサインインできる状態でコードを失くした場合は、Account settings →「2FA」を開いてパスワードを確認し、「Generate new code」(新しいコードを生成)を選びます。新しいコードが古いコードに置き換わります。
コードが受け付けられない場合
いちばん多いのは QR コードが変わったケースです。ウェブサイトは設定ページを再読み込みしたり開き直したりするたびに新しい QR コードを作るため、先に追加したアカウントは合わなくなります。設定を最初からやり直し、いま画面に出ている QR コードを追加して、そのコードをすぐに入力してください。同じサイトの項目が 2 つある場合は、新しいほうを使います。そのほかの原因:コードが拒否される理由。
キーを手で入力しましたか? キーをTOTP コード生成ツールに貼り付け、表示されるコードを拡張機能のコードと比べます。違っていれば、キーのコピーを間違えています。アカウントを追加し直してください。
よくある質問
- スマホなしで Docker Hub の 2FA を使えますか?
- はい。Docker は TOTP に対応した認証アプリならどれでも使えるとしており、確認するのは 6 桁のコードだけです。Authenticator 拡張機能は Docker のページから QR コードを直接読み取り、Chrome でコードを生成します。スマホは不要です。
- 2FA をオンにした状態で docker login を使うには?
- ユーザー名を付けずに docker login を実行すると、ブラウザ経由でサインインでき、そこでパスワードと拡張機能のコードを入力します。docker login -u、スクリプト、CI では Docker はパスワードを受け付けないので、パーソナルアクセストークンを作成し、パスワードの入力欄に入力してください。
- 認証アプリを使えなくなったら?
- ユーザー名とパスワードでサインインし、Two-Factor Authentication のページで「I’ve lost my authentication device」(認証デバイスを紛失した)を選んで、リカバリーコードを入力します。これでサインインでき、2FA はオフになります。すぐにオンに戻してください。リカバリーコードがない場合は、Docker の Contact Support フォームから 2FA でロックされた旨を問い合わせてください。
- Docker の 2FA を別の認証アプリに移すには?
- Docker では認証アプリは 1 アカウントに 1 つだけなので、2 つ目は追加できません。新しいアプリやデバイスに移すには、Account settings →「2FA」で 2FA をオフにしてからオンに戻し、使いたいアプリで新しい QR コードをスキャンします。
ログイン画面から、ワンクリックでコードを
Authenticator は 2FA コードをブラウザ内、お使いのデバイスだけに保存します。利用無料・オープンソースで、アカウント登録もスマホも不要。ローカルバックアップと、任意で使えるパスワード保護も標準搭載です。
2FA 認証システム を Chrome に追加(無料)