# 疑难解答

## 不支持 RSA 密钥

Tessera 无法生成或导入 RSA 密钥：当前的 SSH 栈只能提供已弃用的 RSA/SHA-1
签名。请改用 [Ed25519 密钥](https://bambouville.com/docs/zh-hans/keys/#生成密钥) —— 所有现代 OpenSSH 服务器都
接受它。旧版本遗留下来的 RSA 密钥会显示为已停用。

## mosh 连不上

- 服务器上安装了 `mosh-server` 吗？
- UDP 能到达服务器吗？有些防火墙和大多数 NAT 会拦截它；mosh 默认需要 UDP
  端口 60000–61000。
- 通过[跳板主机](https://bambouville.com/docs/zh-hans/connections/#跳板主机)时：mosh 的 UDP 无法穿过堡垒机。
  Tessera 会给出警告（“经跳板链无法访问 mosh…”）并回退到 SSH。

## 转发拒绝某个本地端口

iOS 沙盒无法绑定 1024 以下的端口 —— 请选一个更大的本地端口。同一台主机上的
本地端口也不能重复。参见[端口转发](https://bambouville.com/docs/zh-hans/port-forwarding/)。

## mosh 主机上转发被停用

当传输方式为 mosh 且启动模式为**自定**时，没有可以承载转发的 SSH 连接。请把
启动模式改为**自动 tmux** 或**具名 tmux** —— 这两种模式会保留一条 SSH 侧
信道，转发可以搭载其上。

## 连接停在“正在连接”或“正在启动 tmux”

等十二秒：启动浮层会说明它卡在哪个阶段，并提供**编辑主机**、**重试**和
**返回** —— 不再有无休止的转圈。如果问题出在 tmux 本身（未安装、无法启动，
或主机的 dotfiles 在登录时已经启动了 tmux），Tessera 会退回到纯 shell，并
附上说明原因的横幅。而如果会话接入后屏幕一直空白，横幅会提示“按任意键将其
唤醒” —— 照做即可。参见[连接卡住时](https://bambouville.com/docs/zh-hans/connections/#连接卡住时)。

## tmux 没有应用我的更改

环境变量和启动脚本片段只在 tmux 会话启动时执行。请在服务器上结束该会话
（`tmux kill-session`）后重新连接。

## 文件面板提示主机密钥不受信任

文件桥接是一条独立的 SSH 连接，遵循同样的信任规则。请打开一个到该主机的
终端会话，查看[「未知主机」面板](https://bambouville.com/docs/zh-hans/host-keys/#首次连接)并接受该密钥 ——
然后重新打开面板。

## 文件面板不跟随我的 shell

目录跟随需要你的 shell 发出 OSC 7。请使用文件面板中的
**启用跟随 —— 安装 shell 集成**按钮，然后运行 `exec $SHELL` 或重新连接。
详情见[文件](https://bambouville.com/docs/zh-hans/files/#跟随你的-shell)。

## 连接 WSL 主机的会话在输出中途冻结

连接本身没问题，但大批量的输出始终没有到达 —— 这是 WSL2 虚拟网卡上的 MTU
不匹配，吞掉了所有大数据包。参见 [WSL MTU 卡顿](https://bambouville.com/docs/zh-hans/wsl-mtu/)。

## 局域网连接失败

iOS 把局域网访问置于**本地网络**权限之后。如果你曾拒绝过它，请在
「设置」应用中 Tessera 的条目下重新启用。同一项权限也是
[附近设置](https://bambouville.com/docs/zh-hans/nearby-setup/)能找到你另一台设备的前提。

## 附近设置找不到设备

两台设备都必须让 Tessera **停留在设置界面**、处于前台、位于同一网络，并且
两台都已授予本地网络权限。版本不匹配时会明确停下，并显示
“请更新 … 上的 Tessera”这样的消息。参见[附近设置](https://bambouville.com/docs/zh-hans/nearby-setup/#开始之前)。

## 接力没有出现在另一台设备上

接力是 Apple 的底层机制：两台设备使用同一 Apple 账户，开启蓝牙和无线局域网，
并在 iOS「设置」应用中启用「接力」。设备锁定时会有意停止广播。共享 tmux
会话的取回控制权还需要服务器上有 **tmux 3.2+**。参见[接力](https://bambouville.com/docs/zh-hans/continuity/)。

## 智能体卡片显示“状态不可用”

发现功能找到了该智能体，但精确状态需要每台主机上的状态钩子 —— 可从卡片上
安装或更新它。在 Codex 上，首次集成启动时还可能要求你通过 `/hooks` 信任该
钩子。参见[智能体中心](https://bambouville.com/docs/zh-hans/agent-center/#检测是怎么工作的)。

## 通知没有送达

检查 iOS 的通知权限（响铃设置面板中有直达它的链接）。请记住后台送达只是
尽力而为：iOS 可能会挂起长时间的后台会话。参见[通知](https://bambouville.com/docs/zh-hans/notifications/)。

## 购买没有带过来

**设置 → 无限主机 → 恢复购买** 会重新检查你的 Apple 账户 —— 涵盖重新安装、
新设备，以及最初付费购买应用时附带的解锁。参见
[免费版与无限主机](https://bambouville.com/docs/zh-hans/unlimited-hosts/)。

## 其他问题

**设置 → 诊断 → 发送给开发者** 会打开一封已填好收件人的邮件，并附上诊断
日志 —— 在点按发送之前，一切内容你都看得到。（这需要设备上有邮件账户；
如果没有，请用**导出日志**，再用任意邮件应用发送该文件。）或者在
[GitHub Issues](https://github.com/bambouville/tessera/issues) 提交问题。
日志已脱敏，只有你发送时才会离开你的设备。
