Macがログインキーチェーンのパスワードを何度も聞いてくる?その解決方法

macOSTahoe ·
Macがログインキーチェーンのパスワードを何度も聞いてくる?その解決方法

macOS Tahoeがログインキーチェーンのパスワードを繰り返し要求してくる問題を解消。ずれてしまったキーチェーンを同期・安全にリセットし、保存済みパスワードを守る方法。

Macの前に座り、アカウントのパスワードでログインして作業を始める。すると突然、「ログインキーチェーンのパスワードを入力してください」という小さなウィンドウが降りてくる。パスワードを入力して閉じると、30秒後にはMailが同じプロンプトを出す。次はWi-Fiが切れてまた聞いてくる。さらにChrome、Messages、Safariのオートフィルまで。もしMacがログインキーチェーンのパスワードを何度も聞いてくるなら、あなたが何か間違えているわけではないし、パスワードが間違っているから拒否されているわけでもない。アカウントのログインと、macOSが保存済みの秘密情報を格納する暗号化された保管庫との間で、気づかぬうちに何かがずれてしまっているのだ。

これはmacOSで最も根強く、最も誤解されている問題の一つであり、Appleがmacos Tahoeを出荷しても消えることはなかった。それどころか、新しいPasswordsアプリへの移行とiCloudキーチェーンの統合が深まったことで、話はさらにややこしくなっている。というのも、ユーザーは今や見た目は似ているのに挙動がまったく異なる二つのパスワード保管庫を抱えることになったからだ。良い知らせもある。ほぼすべてのケースで、どちらの保管庫が問題を起こしているのか、なぜそうなっているのかさえ理解すれば、解決策は単純明快だ。何かを消去する必要はめったにないし、保存済みのデータを失うこともほぼない。

このガイドでは、ログインキーチェーンとは正確には何なのか、なぜMacがそのパスワードを聞いてくるのか、そして最も穏やかなキーチェーン同期の方法から、本当に最後の手段としての完全リセットまで、できる限り安全な順番で直す方法を説明する。この過程で何を失う可能性があり、何を失わないのかについても正直に述べる。というのも、このテーマに関する誤ったアドバイスのせいで、これまで何度も人々が保存済みパスワードを失ってきたからだ。

要点まとめ

  • ログインキーチェーンのプロンプトが繰り返し出る一番の原因は、ログインキーチェーンのパスワードとアカウントのログインパスワードの不一致であり、たいていはアカウントパスワードをリセットまたは変更した際にキーチェーンが更新されなかったことで生じる。
  • 最も安全な最初の一手は、プロンプトが出たときに古いパスワード(変更前に使っていたパスワード)を入力すること。これでキーチェーンのロックが解除され、その後現在のログインパスワードに再同期できることが多い。
  • キーチェーンアクセスで、loginキーチェーンを右クリックし「キーチェーン'login'のパスワードを変更」を選んで現在のアカウントパスワードに合わせれば、不一致を恒久的に修正できる。データは失われない。
  • ログインキーチェーンのリセットは真新しい空のキーチェーンを作り、ローカルにのみ保存されていた秘密情報(一部のWi-Fiパスワード、証明書、アプリのトークンなど)を消去してしまう。iCloudキーチェーンを通じて同期された項目はクラウド上に存在するため、ローカルファイルが失われても残る。リセットは最後の手段として扱い、事前に必ずバックアップを取ること。
  • macOSはウェブやアプリのログイン情報をPasswordsアプリ(iCloudキーチェーン)に集約する方向に進んでいるため、ローカルをリセットしても重要なパスワードのほとんどは無事だったというケースは多い。ただし、決して思い込みで判断せず、消去する前に必ず確認すること。

ログインキーチェーンとは何か(そしてなぜMacが聞いてくるのか)

この問題を正しく解決するには、裏側で実際に何が起きているのかについての明確なメンタルモデルが必要だ。ログインキーチェーンとは、Macのドライブ上にある暗号化されたデータベースである。そこには驚くほど幅広い秘密情報が保存されている。アプリのパスワード、Wi-Fiネットワークのパスワード、一部のブラウザが保存したウェブサイトのログイン情報、デジタル証明書、秘密鍵、セキュアメモ、そしてアプリがサインイン状態を維持するために使う認証トークンなどだ。これはmacOSがユーザーに代わって保管している鍵のかかった金庫だと考えるとよい。中身はすべて暗号化されているので、生のファイルを盗んだ人間であっても、鍵がなければ読み取ることはできない。

その金庫を開ける鍵とはパスワードのことだ。通常の状態では、このパスワードはmacOSアカウントのログインパスワードと同一になっている。これがこの設計の巧妙な部分だ。朝Macにログインしてアカウントのパスワードを入力すると、macOSは裏側で同じパスワードを使ってログインキーチェーンを静かにアンロックする。アンロックは自動的かつ目に見えない形で行われるので、プロンプトが表示されることはない。保存された秘密情報が必要なアプリは、すでにアンロックされているキーチェーンから必要なものを取り出すだけだ。システムは何の問題もなく動作し、ほとんどの人はキーチェーンのことなど考えもしない。

トラブルが始まるのは、この二つのパスワードが一致しなくなった瞬間だ。ログインキーチェーンのパスワードがアカウントのログインパスワードと異なってしまうと、macOSはログイン時にキーチェーンを自動でアンロックできなくなる。そのためキーチェーンはロックされたままになる。しかし、アプリの側は相変わらず中の秘密情報を必要としている――Mailはメールのパスワードを、Wi-Fiはネットワークキーを、ブラウザは保存済みのログイン情報を必要とする。キーチェーンがロックされていてmacOSが静かに開けないため、それらのアプリの一つひとつが手動でキーチェーンをアンロックするようユーザーに求めるプロンプトを引き起こす。これが繰り返し目にするあのダイアログの正体だ。ランダムに発火しているバグではなく、異なるアプリからの数十件もの個別のリクエストが、それぞれロックされたドアにぶつかって鍵を求めているのである。

なぜ不一致が起きるのか

最も一般的な原因は、キーチェーンに反映されない形でアカウントのログインパスワードを変更してしまうことだ。「通常の」方法――ログインした状態でシステム設定のユーザとグループ(またはアカウント設定パネル)から――パスワードを変更した場合、macOSは賢くも同時にログインキーチェーンのパスワードも変更し、両者を同期状態に保つ。プロンプトは一切出ない。しかし、この同期をまるごとバイパスしてしまうアカウントパスワードの変更方法がいくつか存在する。

  • 忘れてしまったパスワードをApple Account(旧Apple ID)経由でリセットする場合。これはアカウントのパスワードを変更するが、古いキーチェーンパスワードが何だったかは分からないため、キーチェーンを更新できない。
  • 別の管理者アカウントから管理者があなたのパスワードをリセットする場合。管理者はあなたのキーチェーンパスワードを知らないため、キーチェーンは手つかずのまま残る。
  • ログイン画面でFileVaultの復旧キーを使ってパスワードをリセットする場合。これは通常の変更ではなく復旧経路であり、キーチェーンには触れない。
  • 別のMacやTime Machineバックアップから復元・移行する場合。移行されてきたキーチェーンは旧マシンのキーチェーンパスワードを保持したままだが、新しいアカウントは別のログインパスワードを使っている。

これらのいずれのケースでも、ログインキーチェーンのパスワードは変更前の状態で「凍結」されたまま残り、一方でアカウントのログインパスワードは新しいものに移行してしまう。macOSは両者がもはや一致しないことを認識し、自動アンロックを停止してプロンプトを出し始める。だからこそ、この問題は忘れたパスワードをリセットした直後に発生することが非常に多い――タイミングは偶然ではないのだ。

知っておくべきその他の原因

パスワードの不一致は圧倒的に多い原因だが、それだけではない。キーチェーンの破損――異常なシャットダウン、ドライブの故障、更新の中断などによるもの――は、パスワードが技術的には一致していてもmacOSがキーチェーンをアンロックできなくする場合がある。キーチェーンのロック設定も原因になり得る。キーチェーンが一定時間操作がないと自動でロックされる、あるいはMacがスリープするたびにロックされるよう設定されている場合、日中に再びロックがかかり、次にアプリが秘密情報を必要としたときに再びアンロックを求められる。これは原因がまったく異なるにもかかわらず、不一致問題とまったく同じように感じられる。iCloudキーチェーンの同期の競合も、ローカルとクラウドの保管庫の内容が食い違ったときに独自のプロンプトを引き起こすことがある。そして最後に、ログインキーチェーンが単にデフォルトのキーチェーンに設定されていない、またはログイン時に自動でアンロックする設定になっていない場合、実際には何も壊れていないのにmacOSがそれを開いてくれないことがある。

実践的な教訓としては、いきなり最終手段に飛びつくべきではないということだ。これらの原因のほとんどには、穏やかで破壊的でない修正方法があるので、順番に取り組んでいくべきだ。まずはデータを守ることから始め、最も安全な修正から最も過激な手段へと進んでいこう。


まずバックアップを取る:何かに手を付ける前にパスワードを守る

キーチェーンの設定を一つでも変更する前に、5分ほど時間をかけて、重要なパスワードがローカルのログインキーチェーン以外の場所にも存在することを確認しておこう。このステップは単なる過剰な心配ではない。リセットの過程で何かがうまくいかなかったときに、日常的な修正で済むか、本物のデータ損失事故になるかの分かれ目になる。ここに挙げる修正を順番に試す目的は、そもそもキーチェーンを消去する必要が生じないようにすることだが、最悪の事態を想定して自分を守っておくべきだ。

キーチェーンを編集する前にmacOSのPasswordsアプリでパスワードをバックアップする

まず、iCloudキーチェーンにすでに安全に保存されているものを確認しよう。Passwordsアプリを開き(macOS Tahoeでは専用アプリになっており、システム設定、Spotlight、またはアプリケーションフォルダからアクセスできる)、重要なウェブサイトやアプリのログイン情報がそこに一覧表示されていることを確認する。Passwordsアプリに表示されるものはiCloudキーチェーンに保存されており、Appleのサーバーおよび他のApple製デバイスと同期されている。これらの項目は、ローカルのログインキーチェーンを完全に消去してしまっても無事だ。実際にはローカルファイルの中に存在しているわけではなく、クラウドに存在し、各デバイスにミラーリングされているからだ。重要なログイン情報がすべてPasswordsアプリに存在していれば、すでにリスクの大部分は回避できている。

次に、生のキーチェーンファイル自体のコピーを作成しよう。これが作れる中で最も確実なバックアップだ。ログインキーチェーンはユーザーのLibraryフォルダの中にある。それを使っている可能性のあるアプリを終了させてから、ファイルをどこか安全な場所にコピーする。ターミナルで次のように行える。

cp ~/Library/Keychains/login.keychain-db ~/Desktop/login-keychain-backup.keychain-db

Finderを使いたい場合は、Optionキーを押しながら「移動」メニューをクリックし、「ライブラリ」を選択、続いてKeychainsフォルダを開いてlogin.keychain-dbをデスクトップや外付けドライブにコピーする。このファイルは、ログインキーチェーンの内容すべてを含む暗号化された自己完結型のコピーだ。設定されていたパスワードを覚えている限り、後でこれをコピーし戻すことで復元できる。このバックアップを持っておけば、このガイドの後半で紹介する破壊的なリセットさえも取り消し可能になる。

最後に、ローカルのキーチェーンにしか存在せずiCloudには存在していないと分かっているものを、メモに残すか書き出しておこう。例えば、あまり知られていないWi-Fiネットワークのパスワード、職場のクライアント証明書、アプリ固有のトークンなどだ。これらはまさにリセットで失われてしまう項目なので、他の場所に書き留めておくことで、起こり得る大惨事をちょっとした不便に変えることができる。macOSがリセットやアップデートをまたいでログイン情報を安全に保つ仕組みに頼っているなら、Passwordsアプリの自動パスワード変更とエージェント型セキュリティについての概要記事で、現代のシステムがユーザーのために何を行い、その限界がどこにあるかを解説している。

バックアップを手にしたら、恐れることなく以下の修正に進んでよい。


修正1:古いパスワードを入力する/キーチェーンを同期させる

これが最も穏やかな修正であり、人々が思っている以上に高い確率でうまくいく。最も一般的な原因は、アカウントのパスワードが変わった一方でキーチェーンのパスワードが古い値のまま凍結されてしまうことなので、単純に古いパスワード――アカウントのパスワードをリセットまたは変更する前に使っていたもの――を与えるだけで、ログインキーチェーンが頻繁にアンロックされる。macOSがキーチェーンのプロンプトで求めているのは現在のログインパスワードではなく、キーチェーン自体のパスワードであり、それはまだ古いままかもしれないのだ。

次に「ログインキーチェーンのパスワードを入力してください」というプロンプトが表示されたら、癖で現在のアカウントパスワードを入力してはいけない。代わりに、すべての発端となった変更が起きる前に使っていたパスワードを入力する。最近忘れたパスワードをリセットしたのであれば、忘れる前に使っていたパスワードのことだ。管理者があなたのためにリセットしたのであれば、その前に使っていたパスワードのことだ。旧Macから移行したのであれば、旧Macでのログインパスワードのことだ。正しい古いパスワードを入力すると、キーチェーンがアンロックされ、プロンプトが消え、そのセッションに関しては差し迫った危機は去る。

古いパスワードでキーチェーンをアンロックすることは一時的にプロンプトを止めるが、根本的な不一致は解決しない――キーチェーンのパスワードは依然としてアカウントのパスワードと異なったままなので、再起動後やキーチェーンが再びロックされた後には問題がぶり返す。修正を恒久的なものにするには、両者を再び同期させる必要があり、それこそが修正2で行うことだ。修正1は、その場しのぎの応急処置であると同時に、診断を確認する手段でもあると考えるとよい。古いパスワードでキーチェーンがアンロックできたなら、これでパスワードの不一致が問題の原因であると確実に分かったことになり、修正2でそれを恒久的に解決できる。

ここでもう一つ試す価値のあるバリエーションがある。スリープから復帰するのではなく、完全にログアウトしてから再度ログインし直すと、macOSが新たな自動アンロックを試みるようになり、それが一過性の同期の不具合、特にiCloudキーチェーンが絡む問題を自然に解消することがあると気づいたユーザーもいる。これは30秒でできる、失うもののない実験だ。ただし、それでもプロンプトが出続けるなら、それをいつまでも無視し続けるのではなく、キーチェーンのパスワードを恒久的に再同期させる作業に進もう。


修正2:ログインキーチェーンのパスワードをアカウントに合わせて変更する

これが、圧倒的に多い不一致のシナリオに対する正しい、恒久的で破壊的ではない修正であり、このガイドを読んでいるほとんどの人にとっての解決策になるはずだ。考え方はシンプルだ。ログインキーチェーンのパスワードをリセットして、現在のアカウントのログインパスワードと再び一致させる。両者が一致すれば、macOSはログイン時にキーチェーンを自動でアンロックできるようになり、プロンプトは完全に止まる――そして保存されているすべての秘密情報はそのまま残る。なぜなら、あなたが変更しているのは鍵であって、金庫の中身を空にしているわけではないからだ。

キーチェーンアクセスを開く。これは/Applications/Utilities/Keychain Access.appにあるが、Spotlightで「キーチェーンアクセス」を検索してリターンキーを押すだけでもよい。開いたら、左側のサイドバーにあるキーチェーンの一覧を見る。目当てのものはloginという名前のキーチェーンだ。これがローカルのログインキーチェーンであり、トラブルの原因になっているものだ。macOSが別枠で表示し、loginという名前のキーチェーンではなくPasswordsアプリを通じて管理されるiCloudキーチェーンの項目と混同しないように。

サイドバーのloginキーチェーンを右クリック(またはControlクリック)し、パスワードを変更するオプションを選ぶ。メニュー項目はおおよそ「キーチェーン'login'のパスワードを変更」といった文言になっている。macOSはまず現在のキーチェーンパスワードを尋ねてくる。ここが肝心な部分だ。キーチェーンの既存のパスワード、つまり(変更前の)古いアカウントパスワードを入力しなければならない。この古いキーチェーンパスワードが分からない場合、この方法は進められないので、代わりに修正3が必要になる。分かっている場合は、それを入力し、続いて新しいキーチェーンパスワードを設定するよう求められる。ここで現在のアカウントログインパスワードを2回入力し、キーチェーンのパスワードが今ログインに使っているパスワードと一致するようにする。

確定すると、ログインキーチェーンのパスワードがアカウントに合わせて更新される。これ以降、Macにログインすると、何も問題が起きていなかった頃と同じようにmacOSが自動でキーチェーンをアンロックするようになり、繰り返しのプロンプトは消える。キーチェーンの中身は一切手つかずだ――アプリのパスワード、Wi-Fiキー、証明書、セキュアメモはすべて元の場所にそのまま残っている。これがあなたが望んでいる結末であり、問題がリセット後の単純な不一致であるほとんどのユーザーにとって、話はここで終わる。修正が定着したかどうかを確認するためにMacを再起動し、翌日にかけて迷子のプロンプトが再び現れないか注意しておこう。

修正2が失敗するのは、古いキーチェーンパスワードを本当に提供できない場合――一度も知らなかった場合、もう手元にないマシンで設定されたものだった場合、あるいは単なる不一致ではなくキーチェーン自体が破損している場合のみだ。そうしたケースに限り、最後の手段に進む。


修正3:ログインキーチェーンをリセットする(最後の手段)

知っているどのパスワードでもキーチェーンをアンロックできない場合、あるいは単なる不一致ではなくキーチェーンそのものが破損している場合、残された唯一の選択肢はリセットだ。先に進む前に、この警告をよく読んでほしい。ログインキーチェーンのリセットは既存のキーチェーンを修復するのではなく、それを丸ごと捨てて真新しい完全に空のログインキーチェーンを作り直す操作だ。ローカルのログインキーチェーンにのみ保存されていた秘密情報はすべて、この操作によって永久に失われる。これには、iCloudキーチェーンにも同期されていなかったWi-Fiパスワード、証明書、秘密鍵、セキュアメモ、アプリのトークンなどが含まれる。元に戻すことはできない。だからこそ、このガイドの前半のバックアップの手順がこれほど重要であり、まず修正1と修正2を試し尽くすべきなのだ。

macOSでデフォルトのログインキーチェーンをリセットする前に表示される警告ダイアログ

この警告を理解したうえで、何が残り何が残らないのかを説明しよう。これがこのテーマの中で最もはっきりさせておくべき点だからだ。iCloudキーチェーンの一部である項目――Passwordsアプリに表示されるウェブおよびアプリのログイン情報のほとんど――は、クラウドに保存されておりサインインし同期が完了すれば新しいキーチェーンに自動的に再ダウンロードされるため、リセットを乗り切る。ローカルのログインキーチェーンにのみ存在していた項目は失われる。実際のところ、多くの現代のユーザーにとってリセットは見た目ほど壊滅的ではない。Appleが非常に多くのものをiCloudキーチェーンに移行させているため、ローカルにしか存在しない残りの部分は小さいからだ。しかし「多くのユーザー」であって「すべてのユーザー」ではないので、実行する前にPasswordsアプリの中身を確認し、特定のWi-Fiパスワードや職場の証明書が、ウェブのログイン情報と同様に安全だろうなどと決して思い込まないこと。

リセットを実行するには、キーチェーンアクセスを開き、環境設定(キーチェーンアクセスメニュー内)の中にデフォルトキーチェーンをリセットするオプションを探す。このコントロールは一般に「デフォルトキーチェーンをリセット」のような文言になっている。旧バージョンのmacOSでは、これに似たコマンドが編集メニューの下にあった。正確な文言や場所はリリースごとに変わっているので、一つの場所に見当たらなければ、アプリのメニューと環境設定を確認してほしい。これを選ぶと確認を求められ、新しい空のキーチェーンのパスワードを設定するよう促される。新しいキーチェーンが最初から同期状態を保てるように、そのパスワードを現在のアカウントログインパスワードに設定すること。macOSはその後、古いキーチェーンを脇に移し、新しいものを作成する。

手動で行いたい場合や、内蔵のリセット機能がうまく動作しない場合は、キーチェーンファイル自体を自分で移動させることで同じ結果を達成できる。キーチェーンを使っている可能性のあるすべてのアプリを終了し、次回ログイン時にmacOSが新しいものを再生成するようファイルの名前を変更するか移動する。

mv ~/Library/Keychains/login.keychain-db ~/Library/Keychains/login-old.keychain-db

これを実行した後、ログアウトして再度ログインする(または再起動する)。macOSはログインキーチェーンが見つからないため、アカウントパスワードで保護された新しい空のものを作成する。これは内蔵のリセットとまったく同じ程度にローカル限定の秘密情報に対して破壊的であり――同じ警告がそのまま当てはまる――ただし、古いキーチェーンファイルは削除されるのではなく名前を変更されるだけなので、後で古いパスワードを思い出したときに、キーチェーンアクセスでlogin-old.keychain-dbを開いて個々の項目をコピーして取り戻すことを試みられるという利点がある。これが、先ほどのバックアップがもたらすセーフティネットだ。

新しいキーチェーンが用意できたら、求められればiCloudに再度サインインし、iCloudキーチェーンの同期を待ってから、ローカルにしか存在していなかったパスワードをアプリを一つずつ再入力していく。手間はかかるが有限の作業であり、終われば以降プロンプトは出なくなり、キーチェーンはアカウントと同期した状態になる。


キーチェーンのロック設定を調整する

キーチェーンのパスワードがアカウントと完全に一致していて、破損もしていないのに、一日を通して何度もプロンプトが出続けることがある。そうした場合、原因は不一致ではなく、たいていキーチェーン自体のロック設定にある。macOSでは、一定時間操作がなければ自動でロックされる、あるいはMacがスリープするたびにロックされるようにキーチェーンを設定できる。キーチェーンが再ロックされるたびに、次に秘密情報を必要とするアプリは再びアンロックを求めてくる――これは原因も直し方もまったく異なるにもかかわらず、不一致の問題とまったく同じように感じられる。

これらの設定を確認するには、キーチェーンアクセスを開き、サイドバーでloginキーチェーンを選択し、そのキーチェーンの設定を探す――キーチェーンをControlクリックして設定オプションを選ぶか、アプリのメニューからアクセスできる。オプションは二つある。指定した分数の間操作がなければキーチェーンをロックするものと、システムがスリープするときにキーチェーンをロックするものだ。どちらかが有効になっていて望んでいないのであれば、チェックを外す。「操作がない場合にロック」をオフにすると、作業中にキーチェーンが再ロックされなくなり、「スリープ時にロック」をオフにすると、Macが休止するたびに再ロックされなくなる。頻繁にスリープするノートブックにとっては、これが問題の全原因である可能性もある。

キーチェーンアクセスを開いているついでに、バージョンが対応していればFirst Aidを実行してみる、あるいは少なくともloginキーチェーンがデフォルトのキーチェーンに設定されていることを確認しておく価値もある。デフォルトとしてマークされていないキーチェーンは、パスワードが正しくてもログイン時に自動でアンロックされない場合があり、同じようなプロンプトを引き起こす。ログインキーチェーンをデフォルトに戻し、ログイン時にアンロックする設定になっていることを確かめれば、この種の原因はすべて締め出せる。キーチェーンのロックはスリープとウェイクの挙動に結びついているため、この種の問題を追いかけているユーザーは、より広い意味でのスリープとウェイクの信頼性にも注意を払う必要があることに気づく場合が多い。特に頻繁にウェイクするノートブックではその傾向が強い。


iCloudキーチェーン対ローカルのログインキーチェーン(リセットで何が残るか)

この区別は、このテーマの他のどの部分よりも多くの人をつまずかせるので、独立したセクションを設ける価値がある。Macには二つのパスワード保管庫があり、どちらも秘密情報を保持していて、どちらも「キーチェーン」の何らかのバリエーションと呼ばれているため、混同しやすい。どちらがどちらかを理解しておけば、それぞれの修正で実際に何がリスクにさらされているのか、そしてなぜリセット後に戻ってくるパスワードと永久に消えるパスワードがあるのかが正確にわかる。

ローカルのログインキーチェーンは、このガイドを通して議論してきたMacのドライブ上にある暗号化ファイルだ。ユーザーアカウントとログインパスワードに紐づいており、~/Library/Keychains/login.keychain-dbに存在し、キーチェーンアクセスではloginという名前で表示される。中のすべてがローカルに保存されている。これをリセットすれば、そこにのみ保存されていたものは失われる。他にコピーが存在しないからだ。

iCloudキーチェーンはこれとは異なる。これはAppleのクラウド同期パスワードストアであり、その中身はmacOS TahoeでPasswordsアプリに表示されているものだ。iCloudキーチェーン内の項目はエンドツーエンドで暗号化されており、あなたが持つすべてのApple製デバイスとAppleのサーバーの間で同期される。クラウド上と他のデバイス上に存在するため、ローカルのログインキーチェーンファイルにはまったく依存していない。ローカルのログインキーチェーンをリセットまたは消去すると、iCloudキーチェーンの項目はサインインし同期が完了すれば、新しく作成されたキーチェーンに単純に再同期されて戻ってくる。これが、現代のほとんどのユーザーにとってログインキーチェーンのリセットが乗り越えられる理由の中で最も重要なものだ。重要なウェブやアプリのログイン情報の大部分は、ログインキーチェーンのローカル限定部分ではなく、iCloudキーチェーンに存在しているのである。

したがって、経験則はこうなる。Passwordsアプリで見えるものはすべてiCloudキーチェーンに存在しており、ローカルのリセットを乗り切る。ローカルのログインキーチェーンにのみ存在するもの――特定のWi-Fiネットワークパスワード、企業やクライアントの証明書、秘密鍵、セキュアメモ、一部のアプリ認証トークンなど――は乗り切らない。復元元となるクラウドのコピーが存在しないからだ。リセットを行う前に、Passwordsアプリを開き、本当に失いたくないログイン情報がそこに一覧されていることを確認しよう。あれば安全だ。何か重要なものがそこになければ、それはローカル限定であり、リセットする前にバックアップを取るか書き留めておく必要がある。この二つの保管庫を互換可能なものとして扱ってはならないし、確認もせずにiCloudに何かのコピーがあるはずだと思い込んではいけない。


よくある問題のトラブルシューティング

問題:キーチェーンのパスワードをアカウントに合わせて変更したのに、それでもプロンプトが出続ける。

解決策: これはたいてい、loginキーチェーンがもはやデフォルトのキーチェーンに設定されていないか、スリープ時または非操作時にロックされる設定になっていることを意味する。キーチェーンアクセスを開き、loginがデフォルトのキーチェーンになっていることを確認し、自動ロックを無効にする設定を確認しよう。再起動後もプロンプトが戻ってくるなら、キーチェーンファイルが単なる不一致ではなく破損している可能性があり、その場合は修正3のリセットが必要になる。まずはiCloudキーチェーンの中身を確認し、何が安全かを把握しておくこと。

問題:古いパスワードが分からないため、キーチェーンアクセスでキーチェーンのパスワードを変更できない。

解決策: 修正2には現在のキーチェーンパスワード、つまり古いアカウントパスワードが必要であり、それがなければキーチェーンを再同期できない。残された唯一の選択肢は、ログインキーチェーンをリセットすること(修正3)で、これにより新しい空のキーチェーンが作成される。その前に、Passwordsアプリを開いて重要なログイン情報がiCloudキーチェーンに存在し無事であることを確認し、前述したファイルのバックアップを作成して、後でローカル限定の項目を復旧できるようにしておこう。

問題:一部のアプリだけがキーチェーンのパスワードを尋ねてきて、他のアプリは問題なく動作する。

解決策: これは正常であり、想定通りの動作だ。各アプリは、ロックされたキーチェーンの中に保存されている秘密情報を実際に必要とするときにのみプロンプトを引き起こすため、そこから何も必要としないアプリは沈黙したままで、Mail、Wi-Fi、ブラウザだけが繰り返し尋ねてくる。何かが選択的に壊れているという意味ではない。修正2で根本的なキーチェーンの同期を直せば、すべてのアプリにわたって一度にプロンプトが解決する。

問題:macOSのアップデートまたは移行の後、パスワードを一度も変更していないのにキーチェーンのプロンプトが始まった。

解決策: 別のMacやTime Machineバックアップからの移行や復元は、旧マシンのキーチェーンを引き継ぐ。そのパスワードは現在のアカウントパスワードと異なる場合があり、意識的に何も変更していなくても不一致が生じる。修正2を使い、旧Macのログインパスワードを現在のキーチェーンパスワードとして入力し、その後新しいパスワードを現在のアカウントパスワードに設定しよう。旧マシンのパスワードを一度も知らなかった場合は、最後の手段としてキーチェーンをリセットする。


FAQ

ログインキーチェーンをリセットすると、パスワードは失われますか?

失われるのは、ローカルのログインキーチェーンにのみ排他的に保存されていた秘密情報――一部のWi-Fiパスワード、証明書、アプリのトークンなど――だけだ。iCloudキーチェーンを通じて同期されているもの――Passwordsアプリに表示されるもののほとんど――は、リセット後にクラウドから再ダウンロードされるため無事だ。必ず先にバックアップを取り、リセット前に何がローカル限定かを確認しよう。

ログインパスワードを変更した後、なぜMacはキーチェーンのパスワードを尋ねてくるのですか?

アカウントパスワードを変更する特定の方法――Apple Account経由でのリセット、管理者によるリセット、FileVaultの復旧キーの使用――は、ログインキーチェーン自体のパスワードを更新しないためだ。キーチェーンは古いパスワードにロックされたままで、アカウントは新しいパスワードに移行してしまうため、macOSはもはやそれを自動でアンロックできず、代わりにプロンプトを出す。

iCloudキーチェーンとログインキーチェーンの違いは何ですか?

ログインキーチェーンはアカウントに紐づいたMac上のローカルな暗号化ファイルで、そのデバイスにのみ秘密情報を保存する。iCloudキーチェーンはAppleのクラウド同期ストアで、Passwordsアプリに表示され、あなたが持つすべてのApple製デバイス間で同期される。iCloudキーチェーンの項目はローカルのリセットを乗り切るが、ローカル限定のログインキーチェーンの項目は、クラウドにコピーが存在しないため乗り切らない。

ログインキーチェーンを削除しても安全ですか?

重要なパスワードがiCloudキーチェーンに存在することを確認し、キーチェーンファイルをバックアップした後であれば安全だ。削除やリセットは、ローカル限定の秘密情報を永久に破壊する。代わりにキーチェーンアクセスでキーチェーンのパスワードをアカウントに合わせて再同期できるなら、そちらを行うこと――何も削除せずにプロンプトを解決できる。

なぜMailやWi-Fiだけが尋ね続けるのですか?

各アプリは、ロックされたキーチェーンから秘密情報が必要なときにのみプロンプトを出す。そのためMailはメールのパスワードを、Wi-Fiはネットワークキーを尋ね、何も必要としないアプリは静かなままだ。これはMail固有やWi-Fi固有の不具合ではない。ログインキーチェーンをアカウントのパスワードに再同期すれば、すべてのプロンプトが一度に止まる。Mailが他の面でも不調な場合は、Mailの検索とEnvelope Indexの問題についてのガイドで関連する修正方法を扱っている。

これはキーチェーンの不一致ではなく、Touch IDや生体認証の問題ではありませんか?

不安定な生体認証によるアンロックがパスワードの入力を強いる場合が多くなるため、似たように感じられることはある。しかし、繰り返し出る「キーチェーンのログイン」プロンプトは、センサーではなくキーチェーンを具体的に指している。指紋によるアンロックも失敗しているなら、まずここで紹介したキーチェーンの修正に取り組み、その後で生体認証側の問題についてはTouch IDのトラブルシューティングガイドを参照して別途対処してほしい。


まとめ

ログインキーチェーンのパスワードを何度も聞いてくるMacは不安になるものだが、それはほぼ常に、恐ろしい仮面をかぶった単純な同期の問題にすぎない。圧倒的多数のケースで、アカウントのログインパスワードとログインキーチェーンのパスワードがずれてしまっている――たいていはパスワードのリセット、管理者による変更、FileVaultの復旧、あるいは移行の後で――ため、macOSがもはや自動でキーチェーンを開けなくなっているのだ。修正するには両者を再び一致させればよく、キーチェーンアクセスでキーチェーンのパスワードをアカウントに合わせてリセットすることで、保存済みの秘密情報を一つも失うことなくそれを行える。古いパスワードを本当に提供できない場合、またはキーチェーンが破損している場合にのみ、完全なリセットに手を伸ばすべきであり、その場合でさえ重要なログイン情報のほとんどはiCloudキーチェーンの中で無事だ。

修正は順番に取り組もう。まず古いパスワードを試して診断を確認し即座に楽になる。次にキーチェーンアクセスでキーチェーンのパスワードを再同期させて恒久的に修正する。不一致がないのにプロンプトが続くならロック設定を確認する。そして、すべてをバックアップした後の最後の手段としてリセットを扱う。ローカルのログインキーチェーンとiCloudキーチェーンの区別を常に頭の中で明確にしておこう。それが、各ステップで何がリスクにさらされているのかを正確に教えてくれるからだ。それを実践すれば、際限なく続くプロンプトの嵐は完全に止まる。

リセットの痛みをはるかに小さくしてくれる、クラウドに支えられた現代的なシステムにまだパスワードを移行していないなら、Passwordsアプリと自動パスワード変更機能がどんなことをしてくれるか、少し時間を取って確認してみてほしい。もしWi-Fiのプロンプトもここに至った理由の一つだったなら、Wi-Fiが切れる問題の完全な解決ガイドもその輪を閉じるのに役立つはずだ。今少し手間をかけておけば、二度とパスワードのリセットを恐れずに済むようになる。