macOS版Clashの権限設定|ネットワーク拡張の許可とキーチェーンのパスワード要求への対処
macOSでClashを開けない場合の対処法や、ネットワーク拡張・システムプロキシの許可、繰り返し表示されるキーチェーンのパスワード要求への対応を解説します。
まずは4種類の確認画面を見分ける:起動・プロキシ・拡張機能・キーチェーン
MacにClashクライアントをインストールすると、アプリの起動がブロックされたり、ネットワーク設定の変更を許可するか尋ねられたり、その後にパスワード入力画面が表示されたりすることがあります。これらはそれぞれ異なる権限に関する確認で、同じパスワードを何度も入力しても解決しません。画面のタイトル、要求元のプロセス名、説明を確認してから対応してください。
Clashはコアや設定を含むエコシステムの名称であり、すべてのGUIクライアントが同じ仕組みを採用しているわけではありません。mihomoをコアに使うクライアントでは、特権ヘルパーでTUNインターフェースを作成する場合もあれば、システムのネットワーク拡張を使う場合もあります。システムプロキシだけを有効にする場合、通常TUNは必要ありません。以下ではmacOS 13 Ventura、14 Sonoma、15 Sequoiaの設定画面を例に説明します。表示される項目は、OSのバージョンやクライアントの実装によって異なります。
| 表示されたメッセージ | 該当する処理 | まず確認すること |
|---|---|---|
| 開発元を検証できない/悪意のあるソフトウェアが含まれていないか確認できない | アプリの起動時チェック | インストーラーの入手元、アプリの署名、システムのセキュリティ設定 |
| 変更を加える/ヘルパーツールをインストールする | 管理者の認証 | 要求元の名前、インストールサービスやプロキシの有効化を直前に行ったか |
| VPN構成を追加する/システム拡張がブロックされた | ネットワーク設定または拡張機能の許可 | クライアントが実際に使用する通信制御方式 |
| キーチェーンに保存された機密情報へのアクセス | 認証情報の読み取り | 要求元のアプリ、キーチェーン名、アクセス対象の項目 |
インストールと初回起動:「開けません」という警告への対処
まずアプリを「アプリケーション」フォルダに移動
- Appleメニューから「このMacについて」を開き、チップまたはプロセッサを確認します。Appleシリコン搭載MacではARM64/Apple Silicon版、Intel Macではx64/Intel版のインストーラーを選んでください。
- ダウンロードしたディスクイメージを開き、クライアントを「アプリケーション」フォルダにドラッグします。同じクライアントを以前インストールしている場合は、古いアプリを通常の手順で終了してから、プロジェクトの案内に従って置き換えてください。
- 「Finder」→「アプリケーション」からクライアントを起動してください。ダウンロードフォルダや読み取り専用のディスクイメージから起動したままにしないでください。
- 正常に起動することを確認したら、インストールに使ったディスクイメージを取り出します。以降のキーチェーン許可やヘルパーの確認は、「アプリケーション」フォルダにインストールしたアプリを対象に行ってください。
アーキテクチャの選択を誤ると、アプリが起動しない、Rosettaのインストールを求められる、インストーラーに非対応と表示されるなどの症状が起きやすくなります。ネットワーク拡張の権限とは別の問題です。使用中のクライアントに対応するビルドがない場合は、まず対応環境を確認してください。システムのセキュリティ機能を互換性の解決策として無効にしないでください。
セキュリティ設定の「このまま開く」
開発元を検証できないという警告が表示された場合は、まずインストーラーがプロジェクトの公式配布元から入手したものか確認し、警告に表示されたアプリ名と照合します。入手元を確認できたら、「システム設定」→「プライバシーとセキュリティ」を開き、「セキュリティ」欄にアプリのブロック履歴や「このまま開く」ボタンが表示されているか確認してください。案内に従って認証し、アプリを再起動します。ボタンは通常、アプリを開こうとした後に表示され、一定時間のみ使用できます。
macOS 15では、適切に署名または公証されていないソフトウェアを開く手順がより厳しくなっています。古い解説にある「右クリックして開く」を、すべてのバージョンで使える方法と考えないでください。アプリがコンピュータに損害を与える、または悪意のあるソフトウェアを含むと明示された場合は実行を中止し、入手元を改めて確認してください。「アプリが壊れている」という警告も、単なる許可不足と決めつけないでください。
単一のクライアントのためにGatekeeperやSIPを全面的に無効化したり、隔離属性を一括削除するコマンドを実行したりすることはおすすめしません。影響範囲が広がり、インストーラー自体の問題を見えにくくするおそれがあります。組織管理下のMacでアプリを開けない場合は、管理者にポリシーを確認してもらってください。
システムプロキシの許可:まずブラウザで通信できるか確認
初めて使うときは、まずTUNをオフにして、クライアントの「システムプロキシ」だけを有効にしてみてください。この設定は通常、現在のネットワークサービスにHTTPおよびHTTPSプロキシのアドレスを書き込みます。システム設定を変更するため、管理者認証やヘルパーサービスのインストールを求めるクライアントもあります。実際の設定場所はクライアントの表示に従ってください。クライアントによって「サービスモード」の仕組みは異なり、ネットワーク拡張と同じものではありません。
- 有効な設定を読み込み、コアが起動していることを確認したら、プロキシのグループから利用可能なノードを選択します。
- 設定で実際の待ち受けポートを確認します。設定が
mixed-port: 7890の場合、HTTPとSOCKSで同じポートを使用できます。すべてのクライアントの既定ポートが7890とは限りません。 - 「システムプロキシ」を有効にします。管理者認証が表示された場合は、要求元が直前に操作したクライアントまたはそのヘルパーであることを確認してから許可してください。
- 「システム設定」→「ネットワーク」→現在接続中の「Wi-Fi」または「Ethernet」→「詳細」→「プロキシ」を開き、有効な項目のアドレスとポートを確認します。
一般的なローカルプロキシのアドレスは127.0.0.1です。設定のポートが7890なのに、システム設定が古いクライアントの7897を参照していると、接続済みと表示されてもブラウザからアクセスできないことがあります。HTTPSサイト用の「セキュアWebプロキシ(HTTPS)」にも、独自に別のポートを入力しないでください。クライアントが実際に設定した値を使用します。
読み取り専用のコマンドで確認し、システム設定は変更しない
scutil --proxy
lsof -nP -iTCP:7890 -sTCP:LISTEN
最初のコマンドで現在のシステムプロキシ情報を確認し、HTTPEnable、HTTPProxy、HTTPPortと、それぞれに対応するHTTPSの項目を確認します。2つ目のコマンドでは、ローカルの7890番ポートをプロセスが待ち受けているか調べます。実際のポートが異なる場合は、コマンド内の数字を置き換えてください。何も表示されない場合は、コアが起動しているか、ポートの設定が正しいか確認します。すぐにネットワーク拡張を再インストールしないでください。
システムプロキシは、すべてのデバイス通信を中継する設定ではありません。一部のコマンドラインツール、ゲーム、独自に接続を確立するアプリは、この設定を参照しません。ブラウザからアクセスできても、特定のアプリが直接接続することだけを理由に、権限の問題と判断することはできません。
ネットワーク拡張とTUN:クライアントの実装に合わせて許可する
TUNは仮想ネットワークインターフェースを利用して通信を制御する方式で、システムプロキシに従わないアプリの通信を処理する際によく使われます。「特定のネットワーク拡張を必ずインストールする」という意味ではありません。macOS上のmihomoは、必要な権限を使って仮想インターフェースを作成できます。GUIクライアントが特権ヘルパーでルーティングやDNSを管理する場合もあれば、Appleのネットワーク拡張APIを呼び出すものもあります。
ネットワーク拡張またはVPN構成の確認が表示された場合
- macOS 15:「システム設定」→「一般」→「ログイン項目と機能拡張」を開き、「機能拡張」欄の「ネットワーク機能拡張」を確認します。アプリが該当する機能拡張を登録している場合にのみ、一覧に表示されます。
- macOS 13/14:システム拡張がブロックされたという警告が表示された場合は、「システム設定」→「プライバシーとセキュリティ」を開き、該当する開発元を許可する操作が表示されているか確認します。すべてのネットワーク拡張がこの手順を使うわけではありません。
- VPN構成の追加:クライアントの関連機能を直前に有効にし、表示された名前と入手元が一致している場合に限り許可してください。許可後は、「システム設定」の「VPN」または「ネットワーク」内の「VPNとフィルタ」で確認できます。表示場所はOSのバージョンやインストール済みの項目によって異なります。
クライアントに「サービスをインストール」や「サービスを修復」とだけ表示され、システムにネットワーク拡張の項目がない場合は、まずそのクライアントのヘルパーサービスに関する説明を確認してください。別のアプリの拡張機能を許可しないでください。TUNで作成されたインターフェースは、通常のネットワークサービス一覧にクライアント名で表示されるとは限りません。インターフェースが存在するだけでは、通信が正しく振り分けられている証拠にはなりません。
有効にした後の確認手順
- 現在使えている設定を残し、システムプロキシとTUNの状態を記録します。
- TUNだけを有効にし、クライアントのログに権限不足、インターフェース作成失敗、ルート追加失敗が記録されるか確認します。
- ブラウザと、これまでシステムプロキシを使っていなかった対象アプリをテストし、クライアントの接続履歴も確認します。
- インターネットに接続できなくなった場合は、まずTUNをオフにして通信が戻るか確認し、その後ルート、DNS、ほかのVPNとの競合を調べます。
キーチェーンの確認が繰り返し表示される場合:要求元とパスワードを確認
キーチェーンには認証情報や鍵などが保存されます。クライアントによってはサブスクリプションの認証情報などの機密データをキーチェーンに保存しますが、すべてのClashクライアントがそうするわけではありません。「アクセスを許可しますか」という確認が繰り返し表示された場合は、要求元のアプリ、機密項目の名前、キーチェーン名を確認してください。Clashという文字が表示されているだけで「常に許可」を選ばないでください。
ケース1:特定の項目を初めて読み取るときだけ表示される
表示されたアプリが、現在インストールして使用中のクライアントで、項目の用途にも問題がないと確認できた場合は、該当するキーチェーンのパスワードを入力して「許可」を選びます。通常、「許可」は今回のアクセスのみを認めます。「常に許可」を選ぶと、その項目へのアクセス許可がアプリに記録されます。要求元を確認してから使い、見覚えのないプロセスには継続的な許可を与えないでください。
ケース2:ログインパスワードでMacにはログインできるが、キーチェーンを解除できない
アカウントのパスワードを復旧手順や別の管理方法でリセットした後によく起きる問題です。「ログイン」キーチェーンには古いパスワードが使われ続けている一方、アカウントには新しいパスワードが設定されています。新しいログインパスワードを何度入力しても、両者の不一致は解消されません。
Command + スペースを押し、「キーチェーンアクセス」を検索して開きます。「パスワード」アプリを開かないよう注意してください。- サイドバーで「ログイン」キーチェーンを選び、ロック解除を試します。古いパスワードを覚えている場合は、そのパスワードでキーチェーンを解除できるか確認してください。
- 現在のシステムに「編集」→「キーチェーン“ログイン”のパスワードを変更」がある場合は、古いキーチェーンのパスワードで認証してから、アカウントの現在のパスワードに変更します。メニュー名はOSのバージョンによって多少異なる場合があります。
- 古いパスワードを思い出せない場合は、保存済みの認証情報を復元できるか先に確認し、使用中のOSバージョンに対応するAppleの案内に従ってデフォルトキーチェーンをリセットしてください。
キーチェーンのリセットは、一般的な「キャッシュの削除」とは異なります。ロックを解除できない古い項目が、自動的に再び読み取れるようになるわけではありません。保存済みのWebサイト、ネットワーク、アプリの認証情報は再入力が必要になる場合があります。会社のデバイスでは、先に管理者へ相談してください。キーチェーンのフォルダ全体を削除して試すのは避けてください。
ケース3:アプリのアップデート後、起動のたびに確認される
アプリのアップデート、署名IDの変更、同じアプリを複数インストールした状態、古い項目に設定されたアクセス制限などが原因で、再確認が必要になることがあります。同じ種類のクライアントをすべて終了し、「アプリケーション」フォルダに残した1つだけを起動してから、「キーチェーンアクセス」で確認画面に明記された項目名を検索してください。
項目の詳細を開き、「アクセス制御」タブがあれば、アクセスを許可するアプリが現在インストールされているバージョンと一致するか確認します。すべてのアプリに自由なアクセスを許可しないでください。その項目が現在のクライアントによって作成され、認証情報を再入力できることが確実な場合は、まずクライアントの設定をバックアップし、プロジェクトの案内に従って該当する古い項目だけを削除して再ログインします。検索結果をまとめて削除したり、見覚えのない証明書や秘密鍵を削除したりしないでください。
管理者パスワードの確認が繰り返されても、キーチェーンの問題とは限らない
「アプリが変更を加えようとしています」と「キーチェーン内の機密情報にアクセスしようとしています」は、別の種類の確認画面です。前者がシステムプロキシの有効化、コアの起動、TUNの有効化のたびに表示される場合は、クライアントが一時的な管理者権限を必要としているか、ヘルパーサービスが正しくインストールされているかを確認します。システムサービスの問題を解決するために、キーチェーンの項目を変更しないでください。
- アプリの場所を固定:ディスクイメージ、ダウンロードフォルダ、または古いアプリから起動していないことを確認します。
- クライアントの専用機能を使う:「サービスをインストール」「サービスを修復」「サービスをアンインストール」などが用意されている場合は、該当プロジェクトの説明に従って操作します。別のクライアントからヘルパーをコピーしないでください。
- バックグラウンド項目を確認:「システム設定」→「一般」→「ログイン項目」(macOS 15では「ログイン項目と機能拡張」)を開き、関連するバックグラウンド項目が無効になっていないか確認します。提供元を確認できる項目だけを変更してください。
- アカウントの権限を確認:標準ユーザーがシステム設定を変更しようとすると、管理者アカウントでの認証が必要になる場合があります。デバイス管理ポリシーで制限されている場合は、管理者に対応を依頼してください。
クライアントによっては、特定の操作時に管理者の許可を求める設計になっています。サービスをインストールしても、すべてのパスワード確認がなくなるとは限りません。操作と要求の内容が一致するか、サービスが正常に動作しているか、ネットワークが安定しているかを確認してください。確認画面が表示されないことだけを目標にしないでください。
インストール後の確認と元に戻す方法
許可の設定が済んだら、以下の順に確認して、システム設定の問題とサブスクリプションやノードの問題を切り分けます。一度に変更する項目は1つだけにし、動作を確認してから次に進んでください。問題が起きても、どの手順で変化したか特定しやすくなります。
- プロキシをオフにして基本回線を確認:クライアントを終了する前にシステムプロキシとTUNをオフにし、通常のネットワークが使えることを確認します。
- システムプロキシだけをテスト:クライアントを起動して設定を読み込み、プロキシグループを選択します。待ち受けポートとシステムプロキシのポートが一致することを確認してから、プロキシが必要なWebサイトにアクセスします。
- 接続履歴を確認:対象の通信がクライアントに届いていることを確認し、適用されたルールとプロキシグループを調べます。設定で直接接続のルールが選ばれている場合、接続履歴があってもプロキシノードが使われているとは限りません。
- 必要な場合のみTUNを有効化:対象アプリで必要な場合に限り有効にし、ルーティングとDNSのログを確認します。複数のVPN、ネットワークフィルター、DNSツールを同時に切り替えないでください。
- 再起動して確認:クライアントを通常の手順で終了してから再起動し、同じアプリが複数起動していないこと、同じ項目へのキーチェーンアクセスを繰り返し求められないことを確認します。
クライアントを終了してもインターネットに接続できない場合は、現在のネットワークの「プロキシ」画面を開き、127.0.0.1を参照する設定が残っていないか確認します。ローカルで待ち受けるプロセスがないと、その設定によってブラウザが存在しないプロキシに接続し続ける場合があります。今回の設定で追加された項目だけをオフにし、組織のネットワークに元から設定されている自動プロキシや管理対象の設定は残してください。
さらにサポートが必要な場合は、macOSの正確なバージョン、チップの種類、クライアント名とバージョン、問題が起きるまでの手順、警告の全文を記録してください。ログは問題発生前後の必要な部分だけを抜き出し、サブスクリプションのURL、認証情報、個人情報を隠してください。インストーラーと利用手順は、当サイトのクライアントのダウンロードページとクイックスタートガイドで確認できます。ポートやTUNの設定項目については、設定項目ガイドも参照してください。