---
title: "登入 ERPC CLI 並查看金鑰的保存位置"
description: "讓本機登入您的 ERPC 帳戶、選擇 ERPC CLI 保存工作階段的位置，並查看節點金鑰與 erpc 寫入的檔案保存在哪裡。"
canonical: "https://erpc.global/zh-tw/doc/erpc-cli/sign-in-and-keys/"
locale: "zh-tw"
---

# 登入 ERPC CLI 並查看金鑰的保存位置

讓本機登入後，ERPC CLI 會將工作階段保存在您的鑰匙圈或 1Password 中。本頁也說明節點金鑰保存在哪裡，以及 erpc 保留哪些檔案。

本頁說明 ERPC CLI `v0.1.0-rc.4`，這是發行前版本。

## 登入

```bash
erpc signup     # opens the sign-up page
erpc login      # signs this machine in; the session goes to the keychain or 1Password
erpc whoami
```

`erpc login` 透過 OAuth 裝置授權許可取得工作階段。在沒有瀏覽器的機器上，`erpc login --no-browser` 會印出 URL 與代碼，而不是開啟瀏覽器；`erpc signup --no-browser` 則會印出註冊 URL。`erpc whoami` 顯示所保存的工作階段屬於誰，`erpc logout` 則會登出並移除所保存的工作階段。

## 選擇工作階段的保存位置

在終端機中，`erpc login` 會詢問要使用哪個保存位置：作業系統的鑰匙圈（預設），或 1Password（在其有回應時）。`--store` 與 `--vault` 可直接指定而不詢問，所做的選擇會記錄在 `config.toml` 中，其他命令會從那裡讀取。

| `--store` | 工作階段的保存位置 |
| --- | --- |
| `keychain` | 作業系統的鑰匙圈 |
| `1password-desktop`（也可用 `1password`、`op`） | 1Password，透過桌面應用程式 |
| `1password-service-account` | 1Password，透過服務帳戶權杖 |
| `file` | 磁碟上的檔案。這會在本機留下一個 Secret |

若既未指定也未記錄任何選擇，erpc 會在設定了 `OP_SERVICE_ACCOUNT_TOKEN` 時使用 1Password 服務帳戶；否則在有作業系統鑰匙圈時使用它；再否則使用其狀態目錄中的檔案。`erpc doctor` 會回報目前使用哪個保存位置及其原因。使用服務帳戶時，erpc 只會將 `OP_SERVICE_ACCOUNT_TOKEN` 傳給它所啟動的 `op` 程序，且不會將該權杖寫入任何地方。

1Password 項目以機器的名稱命名，因此兩台機器絕不會共用同一個工作階段。`ERPC_HOST_LABEL` 可覆寫該名稱。

### 在 Linux 上

在有 Secret Service 回應的環境中，鑰匙圈就是 Secret Service。否則就是核心為您的使用者提供的持久金鑰環，它位於記憶體中，絕不會寫入磁碟：工作階段會持續到重啟，或閒置數天為止，之後會再次要求執行 `erpc login`。未經自身登入而啟動的 shell（不帶 `-` 的 `su`、`sudo -E`）無法使用該金鑰環，erpc 會拒絕，並告知這一點。

### 在 macOS 上

erpc 透過 `/usr/bin/security` 存取鑰匙圈。任何以您的身分執行的其他程式，也同樣能透過執行 `security` 讀取工作階段；不過鑰匙圈仍會將工作階段以加密形式靜態保存，並使其無法被其他使用者存取。

### 工作階段位於磁碟上的情況

erpc 在三種情況下會將工作階段寫入其狀態目錄：使用 `file` 保存位置時、針對暫存的工作階段（無法送達保存位置的已輪替重新整理權杖），以及寫入中斷之後。只要這類檔案存在，`erpc doctor` 就會逐一回報。在 Unix 上，這些檔案以 `0600` 模式建立；在 Windows 上，erpc 不會自行設定任何權限。

## 節點金鑰保存在哪裡

節點清單，以及各鏈指南所列的原始金鑰備份，都保存在 1Password 中。並非每把金鑰都在 1Password 中，節點也可能持有其執行所需的金鑰。請自行備份主機上的內容：在沒有備份的情況下重建該主機，這些內容就會遺失。此外，活躍的 Sui validator 或已當選的 TRON witness 會拒絕遷移到新主機。

| 節點 | 在 1Password 中 | 在主機上 |
| --- | --- | --- |
| Solana validator（native） | 您建立的身分金鑰與同步金鑰對。投票帳戶與提款權限只以公鑰的形式提供給 erpc | 同步金鑰對（已針對該主機加密），以及從 `--activate-validator` 起的身分金鑰。投票帳戶與提款金鑰絕不匯入 |
| Solana validator（solv） | 已質押的身分金鑰，以及提款權限（除非您只提供其公鑰）。投票帳戶金鑰在帳戶驗證完成後即刪除 | 一個以明文保存、用後即棄的 `unstaked-identity.json`。部署絕不會將已質押的金鑰或提款權限複製到節點上 |
| Solana RPC（native） | 您建立的身分金鑰 | 相同的身分金鑰，已針對該主機加密 |
| Solana RPC（solv） | 清單 | 身分金鑰，在主機上建立。絕不離開主機 |
| Ethereum validator | 清單 | 金鑰庫、其解鎖密碼與 slashing 歷史紀錄。備份中的歷史紀錄止於其快照，因此恢復在快照之後簽署過的金鑰可能遭到 slashing：請使用 `erpc v --chain eth migrate` 遷移簽署者 |
| Arc RPC | 共識金鑰 | 共識金鑰，已加密 |
| Avalanche | 質押金鑰與 BLS 金鑰的備份 | 相同的金鑰，於首次部署時在主機上建立 |
| Sui validator | 協定、網路與 worker 金鑰，在您自己的機器上建立 | 相同的三把金鑰，以 `systemd-creds` 針對該主機加密。絕不包含帳戶金鑰 |
| Sui 全節點 | 清單 | 網路憑證，已針對該主機加密。沒有其他副本 |
| TRON witness | 加密的金鑰庫及其密碼 | 相同內容，以加密的 systemd 憑證形式保存 |
| Polygon validator | `init` 產生的簽署者金鑰。絕不要求提供質押擁有者的金鑰 | 相同的金鑰，已針對該主機加密。在僅觀察的期間，節點以另一個身分執行 |
| BNB Chain validator | 簽署資料與對等節點身分的備份 | 加密金鑰庫中的共識金鑰、加密錢包中的投票金鑰，以及已針對該主機加密的對應密碼 |
| Kaia validator（共識節點或代理節點） | 節點身分的備份 | 節點身分，在主機上建立並針對該主機加密。營運者的錢包留在 erpc 之外 |
| Monad 節點（RPC 或 validator） | 兩個原始金鑰庫 | 相同的金鑰庫，已針對該主機加密 |
| Hyperliquid validator | 熱共識金鑰。絕不要求提供冷帳戶的金鑰 | 熱金鑰，已針對該主機加密，且只由已啟用的 validator 單元載入 |
| Hyperliquid AQA publisher | 其專用的 API 或 agent 金鑰 | 相同的金鑰，已針對該主機加密 |
| NEAR validator | 共識金鑰 | 相同的金鑰，已針對該主機加密 |
| Arbitrum validator | `init` 產生的錢包，以及供應商憑證 | 供應商憑證（已加密），以及從 `--activate-signer` 起的錢包，歸 root 所有並已加密 |
| Robinhood Chain validator | `init` 產生的錢包，以及供應商設定 | 供應商設定（已加密），以及從 `--activate-signer` 起的錢包，歸 root 所有並已加密 |
| OP 系列 RPC | 清單與供應商的值 | 供應商憑證、engine JWT 與對等節點身分，皆已加密。請備份擁有者紀錄與主機的加密 Secret |
| Nitro RPC | 清單與上游憑證 | 上游憑證，已加密 |

其他 RPC 節點不持有 validator 的簽署金鑰，但其主機會保存用戶端自行建立的內容，例如 engine JWT、對等節點身分或 RPC cookie。

僅有金鑰備份，並不能讓 validator 的恢復變得安全。在更換伺服器或恢復其資料之前，請遵循該鏈的恢復程序；各鏈的指南說明如何恢復其金鑰（[節點](https://erpc.global/zh-tw/doc/erpc-cli/nodes/#鏈與指南)）。

只有一個命令會將節點金鑰寫入您機器上的磁碟：`erpc validator vote-account` 在 Solana CLI 執行期間，將身分金鑰與投票金鑰寫入狀態目錄下的 `0600` 檔案，並在之後清除。若程序中途終止，檔案可能會留存，直到之後某次執行將其清理為止。

`erpc worker` 應用的交易金鑰與 Secret 與上述金鑰分開保存：[金鑰與 Secret](https://erpc.global/zh-tw/doc/erpc-cli/worker-secrets/)。

## erpc 保留的檔案

| 路徑 | 內容 |
| --- | --- |
| `~/.erpc/config.toml` | 公開設定（`erpc config`） |
| `~/.erpc/state/` | 工作階段與鎖定（`erpc doctor` 會說明工作階段的保存方式） |
| `~/.erpc/conversations/` | 已儲存的 ERPC AI 對話 |
| `~/.erpc/memory.json` | ERPC AI 記住的內容 |
| `~/.erpc/vps_hosts.json` | ERPC AI 登入過的 VPS 的主機金鑰 |
| `~/.erpc/skills/` | 由 `erpc skills install` 寫入的技能 |
| `~/.erpc/storage-key` | 儲存加密金鑰（當 `erpc login` 將工作階段保存在檔案中時） |
| `~/.erpc/backup-password`、`~/.erpc/backup-admin-key` | 備份主密碼與 `read_write` 金鑰（當 `erpc login` 將工作階段保存在檔案中時） |
| `~/.erpc/keystore/` | worker 金鑰庫：在既沒有 1Password、也沒有可持續保存的鑰匙圈的機器上，應用的 Secret 與交易金鑰各自保存在以您的通行片語加密的檔案中 |
| `~/.erpc/workers.toml` | 本機上的 `erpc worker` 應用清單 |
| `~/.erpc/backup.env` | 本機的備份憑證（`0600`） |
| `~/.erpc/bin/restic-0.19.1` | `erpc backup` 安裝的固定版本 restic |
