iTerm2

iTerm2アプリケーションからボルトの認証情報の一覧、入力、管理

iTerm2のPassword ManagerにKeeper Securityを組み込んで利用できます。本連携は、Keeperコマンダーサービスモードで起動したインスタンスのREST APIと通信します。サービスはローカル (例: お使いのMac上) で実行するか、トンネル (例: Ngrok / Cloudflare) 経由で公開できます。APIキーとサービスURLはmacOSのキーチェーンに保存され、キーは環境が許す場合はTouch ID / Face IDまたはデバイスのパスコードで保護されます。API URLはiTerm2の設定 (ユーザーデフォルト) に保存されます。

機能

  • ボルトレコードの一覧[Password Manager] の画面からKeeperのボルトを参照・検索

  • パスワードの取得 — ターミナル上のプロンプト (例: SSH、sudo、ログイン) へパスワードを送信

  • ユーザー名の取得[Enter username] 選択時にレコードのログインフィールドを送信

  • パスワードの編集 — iTerm2からレコードのパスワードを更新

  • レコードの追加と削除[Password Manager] からログインレコードの新規作成・削除

  • 安全な保存 — APIキーはmacOSのキーチェーンに保存。利用可能な場合はデータ保護付きキーチェーン (Touch ID / Face IDまたはパスコード) を利用。API URLはユーザーデフォルトに保存

  • 同期 — アダプターの設定シートで接続テストおよびボルトレコードの同期

KeeperコマンダーのサービスモードのセットアップとAPIの詳細は、サービスモードREST APIのドキュメントをご参照ください。

要件

Keeperコマンダーの要件

要件
説明

Keeperコマンダー

インストール済みでログイン済み

サービスモード

REST API (v2) を有効にした サービスモードでコマンダーが動作中

APIキー

サービスを作成または構成するときに生成されるAPIキー (例: service-create による発行)

許可コマンド

サービス構成でiTerm2が使用するコマンドを許可。lsgetrecord-updaterecord-addrmsync-downおよび環境で使うエイリアス

iTerm2の要件

  • Keeper SecurityのPassword Manager連携を含むiTerm2のビルド

  • macOS 12以降

構成

iTerm2では以下の2つの値が必要です。いずれも [Keeper Security Settings] で指定します。[Password Manager][Keeper Security] を選ぶと当該設定が開きます。

設定
説明

API URL

KeeperコマンダーサービスのベースURL。末尾に /api/v2/ を含む。 ローカルの例: http://127.0.0.1:8900/api/v2/ トンネルの例: https://your-subdomain.ngrok.io/api/v2/ またはCloudflareトンネルのURL

API Key

Keeperコマンダーのサービスモード構成で発行したAPIキー

注: API URLには /api/v2/ を含めてください。iTerm2はv2 (非同期) APIを使用します。ローカルサービスでは http、トンネル経由では https を使用してください。

セットアップ手順

手順1: Keeperコマンダーのサービスモードを開始する

  1. Keeperコマンダーをインストールしてログインします (例: keeper shell のあと生体認証または永続ログイン)。

  2. iTerm2が利用するコマンドを含めてサービスを作成し、起動します。

    ローカル (このマシンのみ): ポート8900、localhostにバインドする例。

    トンネル (NgrokまたはCloudflare): サービスモードのドキュメントに記載のオプション (例: -ng-cf) を指定し、パブリックURLからサービスへ到達できるようにします。iTerm2のAPI URLは、そのトンネルURLに/api/v2/を付与したURLになります。

    コマンド一覧に lsgetrecord-updaterecord-addrmsync-down が含まれていることを確認してください。

  3. 構成後に表示されるAPIキーをメモするか、ボルト内のサービスモード用レコードから読み取ります。

  4. サービスがすでに構成済みの場合は、以下のコマンドで起動します。

  5. 指定するAPI URL (ローカルなら例: http://127.0.0.1:8900/api/v2/、トンネルなら例: https://your-subdomain.ngrok.io/api/v2/) にアクセスし、サービスが応答することを確認します。

手順2: iTerm2を構成する

  1. iTerm2で [Password Manager] を開きます (メニューまたはショートカット)。

  2. データソースを [Keeper Security] に設定します。

  3. 以下を入力します。

    • API URL: KeeperコマンダーサービスのURL (ローカルの例: http://127.0.0.1:8900/api/v2/、トンネルの例: https://your-subdomain.ngrok.io/api/v2/)。

    • API Key: 手順1で取得したAPIキー

  4. [Ok] をクリックして接続をテストし、必要に応じて同期します。接続すると認証情報はキーチェーンに保存されます。

手順3: Password Managerを使う

  • アカウントの取得: [Password Manager] にボルトのレコードを一覧表示 (ls -R -lの結果に基づく)。フィルターで検索可能

  • パスワードの入力: レコードを選び、[Fill Password] (または同等) でターミナルへパスワードを送信

  • ユーザー名の入力: [Enter username] でログイン値のみを送信

  • パスワードの更新: 新パスワードの設定およびiTerm2による record-update の実行 (新しい値の送信)

  • 追加 / 削除: [Password Manager] の画面からログインレコードの追加・既存レコードの削除

クイックスタートの概要

  1. Keeperコマンダーのサービスモードを開始します (ローカルまたはトンネル)。ローカルの例: service-create -p 8900 -f json -aip 127.0.0.1 -c 'ls,get,record-update,record-add,rm,sync-down' のあと、必要なら service-start を実行します。

  2. iTerm2 → [Password Manager][Keeper Security] の順に選ぶと、API URLのダイアログが表示されます。

  3. API URLにサービスURLを入力します (ローカルなら例: http://127.0.0.1:8900/api/v2/、トンネルなら /api/v2/ 付きのトンネルURL)。[Ok] をクリックするとAPI Keyのダイアログが続くので、サービスモードのAPIキーを入力し、[Ok] をクリックします。

  4. [Password Manager] でレコードの一覧、入力、更新、追加、削除を行います。

セキュリティのベストプラクティス

項目
説明

ローカルではlocalhostにバインド

ローカル利用時は -aip 127.0.0.1。コマンダーAPIを自マシンからのみ到達可能に

トンネルではHTTPSを使う

Ngrok / CloudflareのトンネルURLはHTTPS。URLの秘匿とアクセス主体の制限

コマンドを必要最小限に

iTerm2が必要とするコマンドのみ許可。lsgetrecord-updaterecord-addrmsync-down

キーチェーンへの保存

APIキーとURLはmacOSのキーチェーンに保存。可能ならデータ保護付きキーチェーン (Touch ID / Face IDまたはパスコード) を利用

信頼できる環境

コマンダーのサービスモードは信頼できるマシンで実行。リモート利用時はアクセス制御付きトンネル

トークンの有効期限

コマンダーのサービス構成でAPIキーの有効期限を任意設定し、定期的なキーローテーション

トラブルシューティング

よくある問題

現象
原因
対処

API URL is required

iTerm2にAPI URLが未保存

[Keeper Security Settings] を開き、API URLを設定 (ローカルまたはトンネル。例: http://127.0.0.1:8900/api/v2/またはhttps://your-tunnel-url/api/v2/)

Connection / “Could not connect to Keeper”

サービス未起動、URL誤り、またはAPIキーが無効

コマンダーサービスの稼働、URLに /api/v2/ が含まれること、APIキーとサービス構成の一致を確認。トンネル利用時はトンネルの有効性と到達性を確認

No records listed

未同期、キー誤り、またはコマンドが未許可

“ok” (同期) を実行。サービスのコマンド一覧にlsおよび (同期する場合は) sync-down が含まれることを確認

Password or login not filled

レコードにパスワード / ログインがない、またはgetが未許可

レコード種別にパスワード / ログインがあること、そのAPIキーで get が許可されていることを確認

Touch ID / Keychain prompt

初回利用または再起動後

プロンプトに従いTouch IDまたはMacのパスワードで解除。APIキーはデータ保護付きキーチェーンから読み取り

サービスとURLの確認

  1. コマンダーサービスが動いていることを確認します (例: コマンダーシェルで service-status)。

  2. 到達性の確認: ローカルなら curl http://127.0.0.1:8900/health、トンネルならブラウザまたは curl でトンネルのベースURLに /health を付与したURLを開く。

  3. iTerm2のAPI URLに /api/v2/ が含まれることを確認します (ローカルなら例: http://127.0.0.1:8900/api/v2/、トンネルなら例: https://your-tunnel-host/api/v2/)。

iTerm2のKeeper構成をリセットする

保存した認証情報を消して最初からやり直す場合は、以下を実施します。

  1. [Password Manager] を開き、[Keeper Security] を選びます。

  2. [Password Manager] のデータソースに対して [Reset Keeper Security configuration] を実行します。

  1. [Keeper Security] を選んだあとに表示される設定で、API URLとAPIキーを再入力し、[Ok] をクリックします。

  1. [Keeper Security] を選んだ状態で [Password Manager][Sync Down] を実行し、ボルト一覧をKeeperの内容に同期します。

参考資料

最終更新