SSH

SSH 是 Fuchsia 目标设备和主机设备之间受支持的通信协议。本文档介绍了如何正确设置这些设备之间的 SSH 连接。

前提条件

在主机端,需要进行正确的 SSH 分发。

此外,若要确保访问运行 Fuchsia 的设备或模拟器,还需要公钥/私钥对。ffx 将生成此密钥(如果不存在)。如果需要,您可以将自己的密钥添加到从 ffx config get ssh.privffx 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