跳转到内容

密钥,以及确认应答的是哪台机器。

设置 → SSH Keys 里可以在设备上生成密钥,或导入你已有的。 生成是本地完成的;什么都不会上传,因为压根没有可上传的地方。

The SSH Keys screen in Settings, before any key exists: a THIS DEVICE · SECURE ENCLAVE section reading

要用生成的密钥,把它的公钥部分复制出来,追加到主机的 ~/.ssh/authorized_keys 里,和别的密钥一样。

  • 私钥和密码存在 iOS 钥匙串里,设备有 Secure Enclave 就由它保护。
  • Face ID 可以设为使用密钥前必须验证——导入或生成时打开。
  • 连接信息(主机、端口、用户名)是普通的 App 数据。没有同步: 换新手机要重新添加主机,这是「没有账号」的代价。

反方向:那真的是你的服务器吗

Section titled “反方向:那真的是你的服务器吗”

首次连接某台主机时,Moshpit 会弹出 New Host, 带上密钥指纹和一条在服务器自己上面核对它的命令:

在那台机器上(从一个你本来就信任的终端)跑一下,然后比对。 对得上,说明你连的就是你想连的那台。这是挡住中间人的那一刻, 而且是唯一的一刻——你点了 Trust 之后,那个密钥就被钉在这台主机上了。

如果某台主机后来给出了不同的密钥,Moshpit 会停下来告诉你,而不是照连。 通常这意味着服务器重装过、指纹确实变了;偶尔意味着出事了。 先通过别的渠道核实再接受——一个默默接受变更后主机密钥的 App, 等于把这项检查的全部保护都扔掉了。

密码登录能用,也像密钥一样存在钥匙串里。它是较弱的那个选项: 优先用密钥;如果必须用密码,别把 SSH 直接暴露到公网—— 见在任何地方连上你的机器