ERPC CLI にログインし、鍵の置き場所を確かめる
このマシンでログインすると、ERPC CLI はセッションをキーチェーンか 1Password に置きます。このページでは、ノードの鍵の置き場所と、erpc が置くファイルも説明します。
このページは、プレリリースの ERPC CLI
v0.1.0-rc.4 について説明しています。ログインする
bash
erpc login は、OAuth のデバイス認可グラント(device authorization grant)でセッションを受け取ります。ブラウザのないマシンでは、erpc login --no-browser がブラウザを開く代わりに URL とコードを表示し、erpc signup --no-browser はアカウント登録の URL を表示します。erpc whoami は保存したセッションが誰のものかを表示し、erpc logout はログアウトして保存したセッションを消します。セッションの置き場所を選ぶ
ターミナルでは、
erpc login がどのストアを使うかを聞きます。既定は OS のキーチェーンで、1Password が応答すれば 1Password も選べます。--store と --vault を付けると聞かずに決まり、その選択は config.toml に記録され、ほかのコマンドもそこを読みます。指定も記録もないときは、
OP_SERVICE_ACCOUNT_TOKEN が設定されていれば 1Password のサービスアカウントを、なければ OS のキーチェーンがあればそれを、それもなければ erpc の状態ディレクトリのファイルを使います。どのストアを使っていて、なぜそうなったかは erpc doctor が報告します。サービスアカウントを使うとき、erpc は OP_SERVICE_ACCOUNT_TOKEN を自分が起動する op のプロセスにだけ渡し、このトークンをどこにも書きません。1Password のアイテムにはマシンの名前が付くので、2 台のマシンが 1 つのセッションを共有することはありません。名前は
ERPC_HOST_LABEL で上書きできます。Linux の場合
Secret Service が応答する環境では、キーチェーンは Secret Service です。それ以外では、カーネルがユーザーごとに持つ永続キーリングを使います。これはメモリー上にあり、ディスクには書かれません。セッションは再起動するか数日使わないまで続き、その後はもう一度
erpc login を求められます。自分のログインを持たずに始めたシェル(- なしの su、sudo -E)ではこのキーリングを使えないため、erpc は理由を示して処理を断ります。macOS の場合
erpc は
/usr/bin/security を通してキーチェーンを使います。あなたとして動くほかのプログラムも、同じく security を実行すればセッションを読めます。一方でキーチェーンは、保存中のセッションを暗号化したまま保ち、ほかのユーザーからは読めないようにします。セッションがディスクに置かれるとき
erpc がセッションを状態ディレクトリに書くのは 3 つの場合です。
file ストアを使うとき、退避したセッション(ローテーションしたリフレッシュトークンがストアに届かなかったもの)のとき、書き込みが途中で止まった後です。こうしたファイルがある間は、erpc doctor がそれぞれを報告します。Unix ではこれらのファイルはモード 0600 で作られます。Windows では、erpc は独自の権限を設定しません。ノードの鍵の置き場所
ノードの台帳と、各チェーンのガイドが挙げる元の鍵のバックアップは、1Password に置かれます。すべての鍵が 1Password にあるわけではなく、ノードが動くために必要な鍵をホストに持つこともあります。ホストにあるものは自分でバックアップしてください。バックアップなしにそのホストを作り直すと、失われます。また、稼働中の Sui のバリデータと、選出された TRON の witness は、新しいホストへの移動を受け付けません。
ほかの RPC ノードはバリデータの署名鍵を持ちませんが、ホストにはクライアントが自分で作るもの(engine JWT、ピアのアイデンティティ、RPC の cookie など)が残ります。
鍵のバックアップだけでは、バリデータを安全に復旧できません。サーバーを入れ替えたりデータを復元したりする前に、そのチェーンの復旧手順に従ってください。鍵の復元の方法は各チェーンのガイドにあります(ノード)。
ノードの鍵を手元のマシンのディスクに書くコマンドが 1 つあります。
erpc validator vote-account は、Solana CLI が動いている間、アイデンティティと投票の鍵を状態ディレクトリの下の 0600 のファイルに書き、終わったら消去します。プロセスが途中で落ちると、後の実行が片付けるまでファイルが残ることがあります。erpc worker のアプリの取引用の鍵とシークレットは、これらとは別に置かれます。鍵とシークレットを見てください。





