如要與 Fuchsia 裝置建立 SSH 連線,部分 ffx
指令 (例如 ffx target show
和 ffx log
) 需要在主機上提供 Fuchsia 專屬的 SSH 金鑰。
概念
開發期間,系統會將一或多個公開 SSH 金鑰 (列於 fuchsia_authorized_keys
中) 載入至 Fuchsia 裝置,通常是在新的 Fuchsia 映像檔閃燈到裝置時。裝置載入這些公開安全殼層金鑰後,ffx
指令 (從儲存相符私密安全殼層金鑰的主機執行) 就能建立與裝置的 SSH 連線。
如未找到這些金鑰,會產生 SSH 金鑰,例如 ffx target flash
和 ffx emu start
這類初始化 Fuchsia 裝置的指令。安全殼層金鑰檔案的位置會使用 ffx config set ssh.pub
和 ffx config set ssh.priv
設定。
根據預設,Fuchsia 專屬的安全殼層金鑰會儲存在主機的 $HOME/.ssh
目錄中,如下所示:
$HOME/.ssh/fuchsia_ed25519
$HOME/.ssh/fuchsia_authorized_keys
您可以執行 ffx config check-ssh-keys
來檢查安全殼層金鑰的設定和一致性,該指令會在缺少金鑰時產生金鑰,或是在缺少金鑰時更新公開金鑰檔案,以便納入與私密金鑰相符的公開金鑰。
這些檔案包含下列內容:
fuchsia_ed25519
:私密安全殼層金鑰。請勿揭露或分享這個檔案的內容。fuchsia_authorized_keys
:一或多個授權公開安全殼層金鑰的清單。
fuchsia_authorized_keys
檔案必須包含 fuchsia_ed25519
的公開安全殼層金鑰。在閃燈過程中,fuchsia_authorized_keys
檔案會從主機上傳至 Fuchsia 裝置。
如果您有多部開發機器,建議您在各開發機器上同步處理 Fuchsia SSH 金鑰。您可能需要將現有的 Fuchsia 安全殼層金鑰檔案從一台機器複製到另一台機器。