分散型アプリケーション(dApps)、DeFiプロトコル、またはNFTマーケットプレイスと相互作用したいが、秘密鍵をハードウェアデバイスに保管したい場合は、LedgerをMetaMaskに接続する必要があります。この組み合わせにより、ブラウザウォレットの利便性とハードウェアデバイスのセキュリティモデルが得られます。秘密鍵はLedgerチップから離れることはなく、MetaMask内でトランザクションに署名するときでさえそうです。このガイドでは、2026年のセットアップのすべてのステップを説明し、最も一般的なエラーについて説明し、2つが連携するときに何が(何が)保護されているのかを正確に説明します。
開始する前に必要なもの
正しい前提条件を確認せずにセットアップを急ぐことは、ペアリングが失敗する最も一般的な理由です。MetaMaskを開く前に、以下の各項目を確認してください。
- 完全に初期化されたLedgerデバイス — 24語のリカバリーフレ��ズが書き留められ、デバイスにPINが設定されています。これをまだ行っていない場合は、LedgerのGetting Startedドキュメントに記載されている公式セットアップフローに従ってください。
- Ledger Liveがインストールされ、更新されている — Ledger Liveは現在の状態である必要があり、デバイスのファームウェアが最新であることを確認します。古いファームウェアはLedgerのサポートドキュメントによると、接続失敗の主な原因です。
- デバイスにEthereumアプリがインストールされている — Ledger Liveを開き、My Ledgerに移動し、「Ethereum」を検索してインストールします。このアプリがないと、MetaMaskはデバイスと通信できません。
- MetaMaskブラウザ拡張機能がインストールされている — バージョン11以降。拡張機能はChrome、Firefox、Brave、およびEdgeで利用できます。MetaMaskの公式ウェブサイトまたはブラウザの検証済み拡張機能ストアからのみダウンロードしてください。
- USBケーブルまたはBluetooth接続 — Ledger Nano S PlusおよびNano XはUSBを��ポート; Nano XはモバイルでもBluetoothをサポートしていますが、このガイドではUSB経由のデスクトップブラウザ拡張機能に焦点を当てています。
Ledgerで正しい設定を有効にする
MetaMaskが公開鍵を読み取る前に、Ledgerデバイス自体の2つの設定がアクティブである必要があります。
ブラインド署名(契約データ)
LedgerでEthereumアプリを開きます。Settingsに移動し、Blind signingをEnabledに設定します。Ledgerの独自ドキュメントは、この設定がスマートコントラクトトランザクションに署名するために必要であることを示しています。トレードオフに注意してください。ブラインド署名は、デバイス画面が完全にデコードできないデータを承認していることを意味します。リスクを理解しており、信頼できるdAppsを使用している場合にのみ有効にしてください。
デバッグデータ(オプション)
同じ設定メニューで、Debug dataはほとんどのユーザーでオフのままにすることができます。これは主にトランザクションエンコーディングの問題のトラブルシューティングを行っている開発者に役立ちます。
LedgerをMetaMaskにステップバイステップで接続する
LedgerでEthereumアプリを開き、デバイスがロック解除されている状態で、MetaMaskブラウザ拡張機能内で以下の手順に従います。
- MetaMaskを開き、アカウントセレクタ(拡張機能の右上にある円形アイコン)をクリックします。
- ドロップダウンメニューからアカウントを追加またはハードウェアウォレットを追加を選択します。
- 提示されたハードウェアウォレットオプションからLedgerを選択します。
- MetaMaskはUSB HIDデバイスへのアクセス許可をブラウザに要求します。ブラウザのポップアップで接続をクリックし、リストからLedgerデバイスを選択します。
- MetaMaskは導出パスのリストを表示します。デフォルトのLedger Liveパス(
m/44'/60'/x'/0/0)はLedger Liveで作成されたアカウントと一致します。以前にMetaMaskまたはレガシーパスを使用した場合は、適切な代替オプションを選択します。疑わしい場合は、Ledger Liveパスを使用してください。 - アドレスとそれらのETH残高のリストが表示されます。追加するアカウント(複数可)の横のチェックボックスをオンにして、Unlockをクリックします。
- 選択したアカウントがMetaMaskアカウントリストに表示されます。ハードウェアでバックアップされていることを示す小さなLedgerロゴが付いています。
最初のトランザクションに署名する
Ledgerでバックアップされたメタマスクアカウントを通じてETHを送信したり、コントラクトと相互作用したりするには、1つの重要な追加ステップを備えた馴染みのあるフローに従います。
- 通常どおりMetaMaskでトランザクションを開始します。受取人、金額、ガス設定を入力してください。
- 確認をクリックします。MetaMaskは署名されていないトランザクションをLedgerデバイスに送信します。
- Ledger画面でトランザクションの詳細を確認してください。デバイスには、受取人アドレス、値、およびネットワーク手数料が表示されます。スクロ���ルして、各フィールドが意図したものと一致することを確認してください。
- Ledgerの両方のボタンを押して承認するか、右ボタンのみを押して拒否します。
- MetaMaskは署名済みトランザクションを受け取り、ネットワークにブロードキャストします。
この物理的な確認ステップは、コアセキュリティの利点です。コンピュータ上のマルウェアがMetaMask内の宛先アドレスを変更する場合でも、正しいアドレスはLedger画面に表示されます。ブロードキャストされる前に、最終的な決定権があります。
一般的なエラーとその修正方法
「Ledger device: Locked」またはデバイスが見つかりません
- Ledgerがロック解除されており、EthereumアプリがオープンしていることをPINで確認してください(ホームダッシュボードだけではなく)。
- 別のUSBケーブルまたはポートを試してください。USBハブは認識障害を引き起こす可能性があります。
- Linuxでは、udevルールを追加する必要がある場合があります。Ledgerのサポートドキュ���ントでは、Linuxユーザー向けの正確なルールファイルを提供しています。
トランザクションが「Waiting for Ledger」で停止している
- デバイス画面を確認してください。物理的な確認を待っています。
- 画面が空白の場合は、デバイスをウェイクアップし、Ethereumアプリを再度開いてから、MetaMaskで再試行してください。
間違ったアカウント残高が表示されている
- 資金がある場所と一致しない導出パスを選択した可能性があります。アカウントを追加またはハードウェアウォレットを追加に戻り、Ledgerを選択してから、MetaMaskが提供する代替導出パスオプションを試してください。
WebHID対WebUSB
MetaMaskはMetaMaskバージョン10.10以降、Ledger通信のためにWebUSBからWebHIDに切り替わりました。古い拡張機能を実行している場合は、更新してください。Ledgerの開発者ドキュメントでは、WebHIDはデスクトップブラウザの現在サポートされている転送であることを確認します。
このセットアップが保護するもの、保護しない���の
セキュリティ境界を理解することで、過信を防ぐことができます。
- 保護されている:秘密鍵がコンピュータ上に存在することはありません。侵害されたブラウザやオペレーティングシステムは抽出できません。
- 保護されている:すべてのトランザクションには、ハードウェアデバイスの物理的なボタンプレスが必要です。
- 保護されていない:Ledger画面を慎重に読まない場合、悪意のあるコントラクト相互作用を承認するように騙される可能性があります。MetaMaskインターフェイスは正当なUIを表示できますが、基盤となるトランザクションは有害です。これは「ブラインド署名攻撃」として知られています。
- 保護されていない:トークン承認。悪意のあるコントラクトに無制限の支出承認を付与すると、Ledgerでもウォレットが枯渇する可能性があります。トランザクション詳細で常に承認額を確認してください。
これが意味すること
LedgerをMetaMaskに接続するのに約10分かかり、誰かが遠隔であなたの資金���盗もうとするしきい値が大幅に上がります。実用的なワークフロー(画面で確認し、ボタンを押す)は、各トランザクションにわずか数秒しか追加されません。保護する価値のある資産を保有し、定期的にdAppsを使用している人にとって、この組み合わせは現在のツーリングで利用できる最も合理的なセキュリティセットアップの1つです。Ledger Liveとデバイスのファームウェアを更新し続け、承認する前にハードウェア画面ですべてのトランザクションを読み、無制限のトークン承認を監査したことのないコントラクトと同じ注意で処理します。
