ファイル転送
Mobile SSH には、アクティブな SSH 接続に結び付いた SFTP ファイル転送画面があります。スマートフォンやタブレットからの素早いサーバーメンテナンス向けです。設定をアップロードする、ログをダウンロードする、リモートファイルの名前を変更する、権限を確認する、といった操作をアプリを離れずに行えます。
ファイル転送を開く
- SSH サーバーに接続します。
- 接続済みのターミナルペインを選びます。
- ターミナルのツールバーから Transfer を開くか、現在の画面が対応していればペインのヘッダーを長押しします。
- ローカルペインとリモートペインのあるファイル転送画面が開きます。
アクティブな SSH セッションがない場合、ファイル転送は開けません。
ローカルペインとリモートペイン
ファイル転送画面には 2 つの参照ペインがあります。
- ローカルペイン: 端末のストレージ。
- リモートペイン: SFTP 経由のサーバーファイル。
アプリはホストごとに直近 10 件のリモートパスを記憶します — Android ではリモートペインのヘッダーから、iOS では時計アイコンから開けます。並べ替え設定も両ペインについてホストごとに記憶されます。ローカルパスの履歴はありません。Android のローカルペインは許可したフォルダーそのもので、iOS ではアプリ専用のドキュメント領域だからです。
ファイル転送画面はシステムのライト/ダークテーマに従うため、Mobile SSH の他の画面と見た目がそろいます。
各セッションが開く場所(Android)
tmux セッションにアタッチしたペインからファイル転送を開くと、リモートペインは そのセッション が最後に作業していた場所に戻り、ペインのヘッダーにセッション名が表示されます。まだそこから開いたことのないセッションでは、そのホストでよく使うディレクトリ、次にそのホストで最後に開いたディレクトリ、次にホームディレクトリの順に始まります。
記憶していたディレクトリがすでに削除されていた場合、アプリはエラー画面に放り出す代わりに、実際に一覧できるものが見つかるまでその順序をたどり、壊れたパスを書き戻すこともしません。iOS ではホストごとにリモートディレクトリを 1 つ記憶します。
ストレージアクセス
Mobile SSH はどちらのプラットフォームでも包括的なストレージ権限を求めません。
Android ではシステムのフォルダー選択ツールで フォルダーを 1 つ 許可し、ダウンロードはそこに書き込まれます — 他のすべてのアプリがすでに読める場所です。この許可はアプリを起動し直しても保持されます。
iOS では、ローカルペインはアプリのドキュメント領域で、ファイルはシステムのドキュメント選択ツールと写真選択ツールを通じて取り込みます。
iOS では、ローカルペインはアプリ専用のドキュメント領域を扱い、システムのドキュメント選択ツールと写真選択ツールを通じてファイルを取り込みます。写真とドキュメントの複数選択インポートにも対応しています。別途のストレージ権限は必要ありません。
秘密鍵のインポートはファイル転送とは別で、システムのファイル選択ツールを使います。
ファイルをアップロードする
- ローカルペインを開きます。
- アップロードしたいファイルへ移動します。
- アップロードを選びます。
- リモートの保存先を確認します。
- 進捗と完了は転送キューで確認します。
アップロードは既存の SSH/SFTP 接続を使います。接続が切れた場合は、再接続後に再試行してください。
ファイルをダウンロードする
- リモートペインを開きます。
- ダウンロードしたいファイルへ移動します。
- ダウンロードを選びます。
- ローカルの保存先を確認します。
- 進捗と完了は転送キューで確認します。
大きなダウンロードは、可能なら安定したネットワークで行ってください。
フォルダーをまるごとコピーする
アップロードとダウンロードは単一のファイルに限りません。フォルダーを選ぶと、Mobile SSH はサブツリー全体を双方向で — スマホからリモートへ、リモートからスマホへ — コピーします。まず保存先のディレクトリを作成し、続いて各ファイルをキューに入れます。読み取れないサブディレクトリがあっても残りのコピーは止まりません。Android では「Can’t list directory」と表示される失敗行として報告され、iOS はスキップした対象を挙げずに続行します。
リモートファイルの操作
選択したリモート項目に応じて、Mobile SSH は次のような操作を表示できます。
- ダウンロード(Android では Copy to phone)。
- サーバー上での コピーまたは移動 —
cp -r/mvがホスト側で実行され、データがスマートフォンを経由しません。 - 名前の変更。
- 削除。
- ファイルまたはディレクトリの作成。
- テキストファイルの編集。
.tar.gzへの圧縮。- 権限 — モードと所有者の変更。フォルダー全体に適用するオプション付き。
- 別のアプリで開く。
- ファイルの詳細表示。
リモートファイルの詳細には、権限ビット、所有者、グループ、8 進数の権限値が含まれることがあります。別のプロセスやデプロイツールが管理するサーバーファイルを変更する前に、これらの詳細を確認してください。
ファイルサイズは二進接頭辞で表示されるため、隣のタブのターミナルで ls -h が出力する値と一致します。
並べ替えと最近のパス
各ペインは名前または日付で昇順・降順に並べ替えられます。Mobile SSH は選択したローカルおよびリモートの並べ替え方式を最近のパスとともにホストごとに保存するため、同じサーバーへの繰り返しの転送はなじみのある場所から始まります。
転送キュー
転送はキューに入れられ、状態別に表示されます。ログはすべての転送を表示してスクロールでき、Android は Queued/Failed/Successful、iOS は Active/Failed/Done のタブに分けます。失敗した転送は、基盤の SFTP 操作が理由を提供する場合にその理由を含みます。iOS では転送中のファイルが Active タブの先頭に留まり、行は転送中でもキャンセルできます。
ファイルをアプリの外へ取り出す
- Android: ダウンロードは許可したフォルダーに保存されるため、最初から他のすべてのアプリから見えます。別のアプリで開く は両方のペインにあり、リモートファイルはまずダウンロードされてから引き渡されます。
- iOS: Mobile SSH はファイルアプリの この iPhone 内 に表示されるため、マイフォンのペインにあるものはメール、各種選択ツール、他のアプリから参照できます。ダウンロードしたファイルを長押しして 別のアプリで開く を選ぶと、引き渡し、AirDrop、別の場所への保存ができます。
セッションにファイルを送り込む(Android)
Android は他のどのアプリからでも共有されたファイルを受け取れます。Mobile SSH に共有すると、ファイルはそのペインのホストの ~/.cache/mobile-ssh にアップロードされ、リモートパスがプロンプトに入力されるのですぐに使えます。ターミナルツールバーの 📎 ボタンはシステムのファイル選択ツールから同じことを行い、どちらも複数ファイルを一度に受け付けます。
iOS では、+ ボタンでローカルペインにファイルを取り込み、そこからアップロードしてください。
実用的なヒント
- 個別のファイル移動には SFTP を使い、大きなディレクトリの同期にはサーバー上で
rsyncなどのコマンドラインツールを使ってください。 - バックアップやデプロイのロールバック手段がない限り、稼働中の本番ファイルの編集は避けてください。
- アップロード後にファイルが表示されない場合は、リモートペインを更新するか、保存先パスを確認してください。
- Android のローカルペインが空の場合は、Pick folder でフォルダーを選んでください — アプリは許可されたフォルダーにしかアクセスできません。iOS では、代わりに選択ツールを使ってローカルペインにファイルを追加してください。