故障排查

本页介绍 Mobile SSH 的常见问题,以及在更改服务器端 SSH 设置之前应先进行的检查。

无法连接

请检查:

如果同一主机在另一台设备上可用,请逐一比较主机、端口、用户名、密钥和网络路径。

认证失败

请检查:

对于加密的私钥,请在密码/口令字段中输入口令。

私钥导入失败

私钥导入使用系统文件选择器。如果导入失败:

键盘输入延迟或被更改

Mobile SSH 会在自动更正与预测建议均已关闭的情况下将按键直接发送到 shell,因此键盘不应在文本到达远程端之前改写它。如果你的键盘仍然改动了输入,请确认没有系统级的替换或剪贴板工具在拦截它,并使用额外按键行输入 ESCTABCTRL、方向键、HOMEENDPGUPPGDN 等终端按键。

tmux 滚动与预期不符

Mobile SSH 会根据终端状态调整滚动行为。在 tmux 或其他备用屏幕程序中,滚动手势可能发送 tmux 复制模式命令,而不是滚动本地历史记录。如果启用了 tmux 鼠标模式,应用会发送鼠标滚轮转义序列。

如果滚动效果不符合预期:

锁屏后会话断开

在 Android 上,Mobile SSH 使用保活、前台服务、唤醒锁、Wi-Fi 锁和重连尝试来减少断线。但 Android 的电池策略仍可能停止后台工作。

请检查:

在 iOS 上,系统会挂起后台应用,因此一旦你切换到其他应用或锁定屏幕,就无法无限期保持原始 SSH 连接。短暂的宽限期可以覆盖快速的应用切换;如需更长时间,请在服务器配置中启用 Auto-attach tmux session(或使用 Eternal Terminal 传输方式),这样重新连接后就能回到你离开时的同一个 shell。

文件传输无法浏览手机文件

Mobile SSH 在 Android 上不申请任何存储权限。取而代之的是,本地窗格显示的是你通过系统文件夹选择器授权的那一个文件夹——如果它是空的,请用 Pick folder 选一个。授权会一直保留,因此这只需要做一次。

如果远程文件可以加载而本地文件无法加载,说明 SSH 连接没有问题,只是你还没有授权任何文件夹。

在 iOS 上,本地窗格显示的是应用的文档区域,你可以通过系统的文档选择器和照片选择器添加文件。那里下载的内容也会出现在「文件」应用的 我的 iPhone 下。

上传或下载失败

请检查:

端口转发失败

请检查:

调试日志

两个平台记录的内容并不相同,请挑选与你的问题相符的那一种。

Android —— 终端与渲染。 启用 Settings → Debugging → Show Debug and Logs buttons,然后使用起始屏幕上出现的 Debug 按钮。它会记录终端事件、SSH 数据大小、触摸输入、窗口大小调整行为和隧道生命周期。开始记录前,它会先警告你:这会捕获你敲下的每一个按键,密码也包括在内。停止记录后,它会把归档写入你的「下载」文件夹。

iOS —— 连接与重连。 打开 Settings → Diagnostics → Record debug log。它会记录每一个拨过的地址及其失败原因、重连尝试及其退避、连接断开、「对端停止响应 keepalive」、网络变化,以及 tmux 命令及其错误。设置界面会实时显示行数,便于你确认它确实在记录,Export Debug Log 可以把它作为文本文件分享出去。该日志保存在内存中,只覆盖当前这次应用运行。

在分享任何调试日志或归档之前请先检查其内容。它们用于故障排查,可能包含服务器名称、地址、时序或其他环境详情——在 Android 上,还包括你输入过的一切。