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