SSH 是 Fuchsia 目标设备和主机设备之间受支持的通信协议。本文档介绍了如何正确设置这些设备之间的 SSH 连接。
前提条件
在主机端,需要进行正确的 SSH 分发。
此外,若要确保访问运行 Fuchsia 的设备或模拟器,还需要公钥/私钥对。ffx
将生成此密钥(如果不存在)。如果需要,您可以将自己的密钥添加到从 ffx config get ssh.priv
和 ffx config get ssh.pub
显示的路径。
配置设备
您可以通过两种方式将公钥安装到目标上。
在铺砌过程中安装(首选)
按照“平铺”目标设备的说明进行操作,并向 bootserver
调用添加一个指向公钥的额外参数:$ bootserver --authorized-keys $PUBLIC_KEY <other args>
通过直接修改 Fuchsia 映像
您可以使用 zbi
工具修改 fuchsia.zbi
映像,以包含公钥:$ zbi -o $FUCHSIA_DOT_ZBI -e data/ssh/authorized_keys=$PUBLIC_KEY
请注意,此方法主要设计用于铺砌不一定是有效选项的情况(例如在模拟器上进行测试)。 请谨慎使用。
连接到设备
假设目标设备的地址称为 $TARGET_ADDRESS
,请使用以下命令在该设备上打开 shell:$ ssh -i $PRIVATE_KEY fuchsia@$TARGET_ADDRESS
请注意,如果您从 SSH 代理处获取了密钥,或者密钥位于众所周知的名称 (id_*
) 下的知名位置 ($SSH_HOME
) 下,则可以省略 -i
参数。
另请注意,Fuchsia 目标设备的主机密钥是在首次启动时生成的,这意味着每次设备铺路时,密钥都会发生变化。
您可能需要在连接到 Fuchsia 设备时停用主机密钥检查,以避免出错,方法是添加以下标志:-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null