慢慢

应用与界面 · 2026-06-05

sshphoneAI 的安全边界,配对、SSH Key 与 Bastion

短期 Token、公钥登录、Android Keystore 和远端回环绑定各自挡住一类风险,却不能互相替代。当前原型最重要的未完成项,是 SSH 主机身份校验和管理面的最小暴露。

sshphoneAI 的安全边界,配对、SSH Key 与 Bastion

sshphoneAI 同时碰到三种信任关系。手机要把公钥交给 Mac,手机随后要确认连到的确实是那台 Mac,Bastion 模式还会再引入一台中转主机。只说“全程 SSH”太笼统,因为配对和路由管理并不都在 SSH 里面。

短期 Token 只能证明配对请求拿到了当次口令,不能证明手机看到的主机身份正确。私钥在手机里加密保存,解决的是静态存储问题,中间人仍要另外处理。反向端口绑定远端回环地址,能减少直接暴露,VPS 本身仍然需要被放在不可信环境里看待。

后来我按数据流逐层看代码,不再把“加密”当成一个总答案。配对层检查 Token 是否随机、是否过期、是否只能使用一次;授权层检查写入的是不是规范化公钥、能不能按标记撤销;手机端检查私钥怎样保存;路由层检查反向端口绑定在哪里;最后再看 SSH 客户端有没有验证主机身份。sshphoneAI 当前安全边界与缺口

当前原型已经有几层保护。配对 Token 短期有效且单次使用,公钥会带标记写入本机授权文件并可撤销,手机私钥由 Android Keystore 管理的 AES GCM 密钥加密,反向端口默认只留在远端回环地址。SSH 客户端尚未完成主机身份校验;Mac Agent 的管理面也缺少适合不可信网络的认证和最小监听策略。这两处不能靠一句“已经用了 SSH”带过去。

本轮重新运行了 Mac Agent 4 项测试,单次配对成功、重复 Token 被拒绝、公钥撤销、Bastion 配置与路由模型都通过。Android 端 8 项单元测试和完整 Debug 构建也通过。它们证明当前代码分支和失败条件按预期工作,还不构成安全审计,也没有覆盖真实设备、真实网络和恶意节点。

现在我看远程工具,会分开问双方身份怎样确认,凭据存在哪里,权限能缩到多小,设备丢失后怎样撤销,中转机失守会暴露什么,管理接口到底听在哪个信任边界里。任何一问没有答案,都只能算原型。