SSH

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

前提条件

在主机端,需要有合适的 SSH 分发。

此外,还需要使用公钥/私钥对来确保对运行 Fuchsia 的设备或模拟器的访问安全。如果不存在,ffx 将生成密钥。您可以根据需要,将自己的密钥添加到 ffx config get ssh.privffx config get ssh.pub 显示的路径中。

配置设备

您可以通过以下两种方式将公钥安装到目标设备上。

通过直接修改 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 代理获取密钥,或者密钥位于已知位置 ($SSH_HOME) 且具有已知名称 (id_*),则可以省略 -i 实参。

另请注意,Fuchsia 目标设备的宿主密钥是在首次启动时生成的,这意味着每次铺设设备时,密钥都会发生变化。您可能需要在连接到 Fuchsia 设备时停用主机密钥检查,以避免因添加以下标志而遇到错误: -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null