文件传输

Mobile SSH 包含一个与活动 SSH 连接绑定的 SFTP 文件传输界面。它用于从手机或平板电脑进行快速的服务器维护:上传配置、下载日志、重命名远程文件或查看权限,而无需离开应用。

打开文件传输

  1. 连接到 SSH 服务器。
  2. 选择已连接的终端窗格。
  3. 从终端工具栏打开 Transfer,或在当前界面支持时长按窗格标题。
  4. 文件传输界面会打开,包含本地窗格和远程窗格。

如果没有活动的 SSH 会话,则无法打开文件传输。

本地与远程窗格

文件传输界面有两个浏览窗格:

应用按主机记忆最近的远程路径和排序。Android 从远程窗格标题打开最近路径,iOS 使用时钟图标。本地窗格显示所选文件夹;iOS 在选择其他文件夹前使用应用的 Documents 文件夹。

文件传输界面会跟随你的系统浅色或深色主题,因此与 Mobile SSH 的其余部分保持一致。

每个会话打开的位置

两个平台从 tmux 打开文件传输时,都会恢复为该会话和套接字记忆的远程目录。新会话先尝试主机上的常用目录,再尝试其他记忆目录或登录目录。

记忆目录不存在或无法访问时,浏览器尝试下一个可用位置。连接失败会明确报告,不会误判为文件夹缺失。刷新不会增加目录访问次数。

存储访问

Mobile SSH 在两个平台上都不会申请笼统的存储权限。

在 Android 上,你用系统的文件夹选择器授权一个文件夹,下载的内容会写入其中——那是其他所有应用本来就能读取的位置。该授权在重新启动后依然有效。

iOS 的我的手机 → 选择本地文件夹可授权访问“文件”中的文件夹,包括受支持的 iCloud Drive 和其他文件提供方。选择在重启后仍保留。使用应用文件夹返回 Mobile SSH 的 Documents 文件夹。所选文件夹不可用时,请重新选择或明确切回应用文件夹;下载不会被悄悄改到别处。设备的文件夹访问权限不纳入备份。

iOS 文档和照片选择器也支持多选导入。文件名冲突时可选替换、保留两者或取消。导入已位于目标位置的文件不会修改它。

私钥导入与文件传输分开,使用系统文件选择器。

上传文件

  1. 打开本地窗格。
  2. 导航到你要上传的文件。
  3. 选择上传。
  4. 确认远程目标。
  5. 在传输队列中查看进度和完成情况。

上传遵循所选服务器的 SSH 路由,包括保存的跳板机。连接中断后请重连再试。

下载文件

  1. 打开远程窗格。
  2. 导航到你要下载的文件。
  3. 选择下载。
  4. 确认本地目标。
  5. 在传输队列中查看进度和完成情况。

大文件下载应尽量在稳定的网络下进行。

复制整个文件夹

上传和下载不限于单个文件。选择一个文件夹,Mobile SSH 会在两个方向上复制整个子目录树——从手机到远程以及从远程到手机——先创建目标目录,再将每个文件加入队列。无法读取的子目录不会中断其余复制;在 Android 上,它会以一条内容为「Can’t list directory」的失败记录报告出来,而 iOS 会继续执行,但不会列出被跳过的内容。

远程文件操作

根据所选的远程项目,Mobile SSH 可显示以下操作:

远程文件详情可包含权限位、所有者、所属组和八进制权限值。在更改由其他进程或部署工具管理的服务器文件之前,请先查看这些详情。

文件大小以二进制单位显示,因此与隔壁标签页终端里 ls -h 打印出来的结果一致。

排序与最近路径

每个窗格都可按名称或日期升序或降序排序。Mobile SSH 会按主机存储所选的本地和远程排序方式以及最近路径,因此对同一服务器的重复传输会从熟悉的位置开始。

传输队列

传输按状态排队显示:Android 为排队中/失败/成功,iOS 为进行中/失败/完成。失败项显示可用的错误原因。iOS 当前传输置顶于“进行中”,并可取消。

iOS 排队任务始终保留原文件夹,即使你已浏览到别处。下载先写入临时存储,完成后再替换目标;取消或失败保留已有文件。若批准覆盖后目标文件发生变化,应用会停止,而不覆盖新内容。

把文件从应用里取出来

将文件发送到会话

两个平台均接收其他应用分享的文件,并在终端提供 📎 附加文件。文件上传到所选主机的 ~/.cache/mobile-ssh,路径可插入提示符而不发送回车。支持多个文件。

Android 分享到正在运行的会话。iOS 回形针提供照片图库或文件。即使 Mobile SSH 已关闭,iOS 分享扩展也可上传到已保存的 SSH 服务器,但不提供 Eternal Terminal 配置。未知服务器须先在主应用中验证身份。

iOS 分享扩展上传后,会把路径复制到剪贴板并排队,待应用中出现该服务器的已连接窗格再插入。路径不会插入连接其他主机的窗格。

实用提示