参数 | 说明 |
ProxyCommand=ws-tunnel --url '<TunnelURL>' | 设置 SSH 不使用默认的直连方式,而是先通过 ws-tunnel 工具将连接送入火山引擎的隧道服务,再抵达目标云手机实例。默认使用 ws-tunnel --url '<TunnelURL>'。若使用 websocat 替代,则替换为 websocat - --binary '<TunnelURL>'。 如需手动拼接 URL,请将其中的 % 字符进行转义,即将 % 替换为 %%,避免因字符解析问题导致连接失败。 |
HostKeyAlias=<HostKeyAlias> | 为本条隧道连接设置一个“名称”用于身份校验。SSH 首次连接时会把对方的“名称”记录至本地 ~/.ssh/known_hosts,下次再连同一别名时用它验证对方是否被替换。请直接使用接口返回的 HostKeyAlias,避免与本地已有 SSH 主机记录产生冲突。 |
ControlMaster / ControlPath | 开启 SSH 的“连接复用”,后续对同一隧道的操作复用第一次的连接,避免重复握手。ControlPath 是这条连接在本地留下的“控制文件”路径,建议用接口返回的 ConnectionId 拼接以区分不同调试会话;关闭时使用 ssh -O exit 退出,不用强杀进程。 |
ExitOnForwardFailure=yes | 若本地端口转发失败,SSH 立即退出,而不是继续保持一个“空隧道”误以为连接成功。当出现端口占用、参数错误等问题时,帮助排查及时发现问题。 |
ServerAliveInterval / ServerAliveCountMax | 让 SSH 定期发出“心跳包”以确认连接存活。建议保留默认值,避免长时间无 ADB 交互时隧道被中间网络设备当作“闲置连接”提前断开。 |
-L 5555:<TargetHost>:5555 | 把本地 5555 端口“接管”下来,之后 ADB 访问 127.0.0.1:5555 的流量都会被转发到目标云手机实例的 ADB 端口。若本地 5555 已被占用,可换成 -L 15555:<TargetHost>:5555,相应地 adb connect 也要改成对应端口。 |
-Nf | 让 SSH 只负责“打通隧道”,从而不打开远程 shell,并放到后台运行。排查问题时可以替换为 -N 或 -vvv 打印详细日志定位具体步骤。 |