SSH 是 Fuchsia 目標裝置與主機裝置之間通訊的支援通訊協定。本文說明如何在這些裝置之間正確設定 SSH 連線。
必要條件
主機端必須有適當的 SSH 發布版本。
您也需要公開/私密金鑰組,才能安全存取執行 Fuchsia 的裝置或模擬器。如果沒有金鑰,ffx 會產生金鑰。
您可以視需要將自己的金鑰新增至 ffx config get ssh.priv 和 ffx config get ssh.pub 顯示的路徑。
佈建裝置
您可以透過兩種方式在目標上安裝公開金鑰。
直接修改 Fuchsia 映像檔
使用 zbi 工具修改 fuchsia.zbi 圖片,加入公開金鑰:$ zbi -o $FUCHSIA_DOT_ZBI -e data/ssh/authorized_keys=$PUBLIC_KEY
請注意,這個方法主要適用於鋪路並非有效選項的情況 (例如在模擬器上測試)。請謹慎使用。
連線至裝置
假設目標裝置的位址為 $TARGET_ADDRESS,請在該裝置上開啟殼層,方法如下:
$ ssh -i $PRIVATE_KEY fuchsia@$TARGET_ADDRESS
請注意,如果金鑰來自 SSH 代理程式,或金鑰位於知名位置 ($SSH_HOME) 且名稱為知名名稱 (id_*),則可以省略 -i 引數。
另請注意,Fuchsia 目標裝置的主機金鑰會在首次啟動時產生,也就是說,每次鋪路時,金鑰都會變更。連線至 Fuchsia 裝置時,您可能需要停用主機金鑰檢查,以免發生錯誤。方法是加入下列標記:
-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null