Передача файлов

Mobile SSH включает экран передачи файлов по SFTP, привязанный к активному SSH-подключению. Он предназначен для быстрого обслуживания сервера с телефона или планшета: загрузить конфигурацию, скачать журнал, переименовать удалённый файл или проверить права доступа, не выходя из приложения.

Открытие передачи файлов

  1. Подключитесь к SSH-серверу.
  2. Выберите подключённую панель терминала.
  3. Откройте Transfer на панели инструментов терминала или нажмите и удерживайте заголовок панели, если это поддерживается текущим экраном.
  4. Откроется экран передачи файлов с локальной и удалённой панелями.

Если активной SSH-сессии нет, передача файлов открыться не может.

Локальная и удалённая панели

Экран передачи файлов имеет две панели браузера:

Приложение запоминает последние десять удалённых путей для каждого хоста — открыть их можно из заголовка удалённой панели на Android или по значку часов на iOS. Настройки сортировки также запоминаются для каждого хоста для обеих панелей. Истории локальных путей нет: на Android локальная панель — это та папка, к которой вы дали доступ, а на iOS — собственная область документов приложения.

Экран передачи файлов следует системной светлой или тёмной теме, поэтому выглядит так же, как остальной Mobile SSH.

Где открывается каждая сессия (Android)

Если открыть передачу файлов из панели, подключённой к сессии tmux, удалённая панель вернётся туда, где эта сессия работала в последний раз, а имя сессии будет указано в заголовке панели. Для сессии, из которой вы её ещё не открывали, отправной точкой станут каталоги, которыми вы чаще всего пользуетесь на этом хосте, затем последний каталог хоста, затем ваш домашний каталог.

Если запомненный каталог с тех пор удалён, приложение спускается по этому списку, пока какой-нибудь каталог действительно не откроется, вместо того чтобы оставить вас с ошибкой, — и не записывает нерабочий путь обратно. На iOS для каждого хоста запоминается один удалённый каталог.

Доступ к хранилищу

Mobile SSH не запрашивает сплошного доступа к хранилищу ни на одной из платформ.

На Android вы даёте доступ к одной папке через системное средство выбора папки, и скачанные файлы записываются туда — в место, которое все остальные приложения и так могут читать. Выданный доступ сохраняется между запусками.

На iOS локальная панель — это область документов приложения, а файлы попадают в неё через системные средства выбора документов и фото.

На iOS локальная панель работает с собственной областью документов приложения, а файлы добавляются через системные средства выбора документов и фото — включая множественный импорт фотографий и документов. Отдельное разрешение на доступ к хранилищу не требуется.

Импорт закрытого ключа отделён от передачи файлов и использует системный файловый выбор.

Загрузка файлов

  1. Откройте локальную панель.
  2. Перейдите к файлу, который хотите загрузить.
  3. Выберите загрузку.
  4. Подтвердите удалённое назначение.
  5. Следите за очередью передачи для отображения прогресса и завершения.

Загрузка использует существующее подключение SSH/SFTP. Если соединение оборвётся, повторите попытку после переподключения.

Скачивание файлов

  1. Откройте удалённую панель.
  2. Перейдите к файлу, который хотите скачать.
  3. Выберите скачивание.
  4. Подтвердите локальное назначение.
  5. Следите за очередью передачи для отображения прогресса и завершения.

Большие скачивания по возможности выполняйте в стабильной сети.

Копирование папок целиком

Загрузка и скачивание не ограничиваются отдельными файлами. Выберите папку, и Mobile SSH скопирует всё поддерево в обоих направлениях — с телефона на удалённый хост и обратно, — сначала создавая папки назначения, а затем ставя каждый файл в очередь. Недоступная для чтения подпапка не прерывает остальное копирование: на Android о ней сообщается строкой с ошибкой «Can’t list directory», а iOS продолжает работу, не перечисляя пропущенное.

Действия с удалёнными файлами

В зависимости от выбранного удалённого элемента Mobile SSH может показать следующие действия:

Сведения об удалённом файле могут включать биты прав доступа, владельца, группу и восьмеричные значения прав. Используйте эти сведения перед изменением файлов сервера, которыми управляет другой процесс или инструмент развёртывания.

Размеры файлов показываются в двоичных единицах, поэтому совпадают с тем, что печатает ls -h в терминале на соседней вкладке.

Сортировка и недавние пути

Каждую панель можно сортировать по имени или дате по возрастанию или убыванию. Mobile SSH хранит выбранные режимы сортировки локальной и удалённой панелей для каждого хоста вместе с недавними путями, поэтому повторные передачи на тот же сервер начинаются со знакомых мест.

Очередь передачи

Передачи ставятся в очередь и отображаются по статусу, а журнал прокручивается и показывает каждую передачу — на Android они разложены по вкладкам Queued / Failed / Successful, на iOS — Active / Failed / Done. Неудачные передачи включают причину, если базовая операция SFTP её предоставляет. На iOS файл, который передаётся прямо сейчас, остаётся вверху вкладки Active, а строку можно отменить прямо во время передачи.

Как достать файлы из приложения

Отправка файла в сессию (Android)

Android принимает файлы, отправленные ему из любого другого приложения: поделитесь файлом с Mobile SSH — и он будет загружен в ~/.cache/mobile-ssh на хосте этой панели, а его удалённый путь напечатан в приглашении, чтобы им сразу можно было воспользоваться. Кнопка 📎 на панели инструментов терминала делает то же самое через системное средство выбора файлов, и оба способа принимают несколько файлов сразу.

На iOS добавляйте файлы на локальную панель кнопкой + и загружайте их оттуда.

Практические советы