文件传输
Mobile SSH 包含一个与活动 SSH 连接绑定的 SFTP 文件传输界面。它用于从手机或平板电脑进行快速的服务器维护:上传配置、下载日志、重命名远程文件或查看权限,而无需离开应用。
打开文件传输
- 连接到 SSH 服务器。
- 选择已连接的终端窗格。
- 从终端工具栏打开 Transfer,或在当前界面支持时长按窗格标题。
- 文件传输界面会打开,包含本地窗格和远程窗格。
如果没有活动的 SSH 会话,则无法打开文件传输。
本地与远程窗格
文件传输界面有两个浏览窗格:
- 本地窗格: 手机存储。
- 远程窗格: 通过 SFTP 访问的服务器文件。
应用按主机记忆最近的远程路径和排序。Android 从远程窗格标题打开最近路径,iOS 使用时钟图标。本地窗格显示所选文件夹;iOS 在选择其他文件夹前使用应用的 Documents 文件夹。
文件传输界面会跟随你的系统浅色或深色主题,因此与 Mobile SSH 的其余部分保持一致。
每个会话打开的位置
两个平台从 tmux 打开文件传输时,都会恢复为该会话和套接字记忆的远程目录。新会话先尝试主机上的常用目录,再尝试其他记忆目录或登录目录。
记忆目录不存在或无法访问时,浏览器尝试下一个可用位置。连接失败会明确报告,不会误判为文件夹缺失。刷新不会增加目录访问次数。
存储访问
Mobile SSH 在两个平台上都不会申请笼统的存储权限。
在 Android 上,你用系统的文件夹选择器授权一个文件夹,下载的内容会写入其中——那是其他所有应用本来就能读取的位置。该授权在重新启动后依然有效。
iOS 的我的手机 → 选择本地文件夹可授权访问“文件”中的文件夹,包括受支持的 iCloud Drive 和其他文件提供方。选择在重启后仍保留。使用应用文件夹返回 Mobile SSH 的 Documents 文件夹。所选文件夹不可用时,请重新选择或明确切回应用文件夹;下载不会被悄悄改到别处。设备的文件夹访问权限不纳入备份。
iOS 文档和照片选择器也支持多选导入。文件名冲突时可选替换、保留两者或取消。导入已位于目标位置的文件不会修改它。
私钥导入与文件传输分开,使用系统文件选择器。
上传文件
- 打开本地窗格。
- 导航到你要上传的文件。
- 选择上传。
- 确认远程目标。
- 在传输队列中查看进度和完成情况。
上传遵循所选服务器的 SSH 路由,包括保存的跳板机。连接中断后请重连再试。
下载文件
- 打开远程窗格。
- 导航到你要下载的文件。
- 选择下载。
- 确认本地目标。
- 在传输队列中查看进度和完成情况。
大文件下载应尽量在稳定的网络下进行。
复制整个文件夹
上传和下载不限于单个文件。选择一个文件夹,Mobile SSH 会在两个方向上复制整个子目录树——从手机到远程以及从远程到手机——先创建目标目录,再将每个文件加入队列。无法读取的子目录不会中断其余复制;在 Android 上,它会以一条内容为「Can’t list directory」的失败记录报告出来,而 iOS 会继续执行,但不会列出被跳过的内容。
远程文件操作
根据所选的远程项目,Mobile SSH 可显示以下操作:
- 复制到手机以下载。
- 在服务器上复制或移动——
cp -r/mv在主机上执行,数据完全不经过你的手机。 - 重命名。
- 删除。
- 创建文件或目录。
- 编辑文本文件。
- 压缩为
.tar.gz。 - 权限——修改模式与所有者,并可选择应用到整个文件夹。
- 用其他应用打开。
- 查看文件详情。
远程文件详情可包含权限位、所有者、所属组和八进制权限值。在更改由其他进程或部署工具管理的服务器文件之前,请先查看这些详情。
文件大小以二进制单位显示,因此与隔壁标签页终端里 ls -h 打印出来的结果一致。
排序与最近路径
每个窗格都可按名称或日期升序或降序排序。Mobile SSH 会按主机存储所选的本地和远程排序方式以及最近路径,因此对同一服务器的重复传输会从熟悉的位置开始。
传输队列
传输按状态排队显示:Android 为排队中/失败/成功,iOS 为进行中/失败/完成。失败项显示可用的错误原因。iOS 当前传输置顶于“进行中”,并可取消。
iOS 排队任务始终保留原文件夹,即使你已浏览到别处。下载先写入临时存储,完成后再替换目标;取消或失败保留已有文件。若批准覆盖后目标文件发生变化,应用会停止,而不覆盖新内容。
把文件从应用里取出来
- Android: 下载的内容会落在你授权的那个文件夹里,因此其他所有应用本来就能看到它们。两个窗格上都有 Open in another app;远程文件会先下载下来,再交给其他应用。
- iOS:本地和远程文件均提供用其他应用打开。远程文件先下载,再打开分享面板。应用文件夹显示在我的 iPhone → Mobile SSH;外部文件夹仍位于“文件”中的原位置。
将文件发送到会话
两个平台均接收其他应用分享的文件,并在终端提供 📎 附加文件。文件上传到所选主机的 ~/.cache/mobile-ssh,路径可插入提示符而不发送回车。支持多个文件。
Android 分享到正在运行的会话。iOS 回形针提供照片图库或文件。即使 Mobile SSH 已关闭,iOS 分享扩展也可上传到已保存的 SSH 服务器,但不提供 Eternal Terminal 配置。未知服务器须先在主应用中验证身份。
iOS 分享扩展上传后,会把路径复制到剪贴板并排队,待应用中出现该服务器的已连接窗格再插入。路径不会插入连接其他主机的窗格。
实用提示
- 使用 SFTP 进行有针对性的文件移动;对于大型目录同步,请在服务器上使用
rsync等命令行工具。 - 除非你有备份或部署回滚路径,否则避免编辑正在运行的生产文件。
- 如果上传后文件未出现,请刷新远程窗格或核实目标路径。
- Android 本地窗格为空时使用选择文件夹。iOS 可按目标位置选择选择本地文件夹、使用应用文件夹或导入选择器。