iPhone で SSH ターミナル、SFTP、FTPS を使う
iPhone・iPad の NetBlade Pro でサーバーやスイッチに SSH コマンドを実行し、SFTP・FTPS でファイルを転送。ホストの保存とキーチェーンに対応。
サーバーのディスク、スイッチのポートの状態、取ってきたい設定ファイルなど、ネットワーク上の何かを手早く確認したいとき、NetBlade ならスマートフォンからそれができます。この記事では、SSH ターミナルとファイル転送の画面について、接続方法、保存したホストの仕組み、パスワードの保存場所、そして iOS による制限を説明します。
始める前に
- NetBlade Pro。SSH ターミナルとファイル転送は Pro の機能です。設定 ›「NetBlade Pro を見る」でプランを確認できます。
- SSH(通常はポート 22)を受け付けるサーバー、スイッチ、ルーター、または FTP/FTPS サーバー。
- そのマシン上のアカウント。SSH ターミナルはユーザー名とパスワードでサインインします。
1. SSH で接続する
- ツール › SSH を開きます。
- 「ホスト」、「ポート」、「ユーザー名」、「パスワード」を入力します。
- このマシンにまた接続する予定なら、「このホストを保存」をオンにします。次回パスワードの入力を省きたい場合は、「パスワードを記憶」もオンにします。
- 「接続」をタップします。
最初の接続で、NetBlade はサーバーのホスト鍵を保存します。以降の接続では毎回、パスワードを送信する前に、鍵が同じであることを確認します。
警告: 鍵が変わっていると、NetBlade は “The host key for … has changed” と表示して停止し、古いフィンガープリントと新しいフィンガープリントを表示します。何も送信されません。これは傍受の試みと同じ見え方ですが、サーバーを再インストールした場合も同じ見え方になります。害のない理由だと決めつける前に、マシンを運用している人に確認してください。
2. コマンドを実行する
入力欄にコマンドを入力して送信します。「補完」ボタンは Tab キーのように働き、このセッションですでに入力したコマンドや組み込みのコマンドを候補として出します。
入力欄の上には、ワンタップで送れるコマンドの列があります。NetBlade は接続時に、相手が Linux マシンか、スイッチやルーターかを推測し、それに合ったセットを表示します。最初のチップで「Linux」と「スイッチ / ルーター」を切り替えられます。どのショートカットも読み取るだけで、ラベルは送信されるコマンドそのものです。ショートカットを長押しして「実行する前に編集」を選ぶと、先に調整できます。たとえばインターフェース名を追加する場合です。
終わったら「切断」をタップします。
注: iOS はアプリに完全な対話型ターミナルを提供していないため、コマンドは 1 つずつ実行されます。
top、vi、lessのように画面全体を使うプログラムは動作しません。top -bn1、journalctl --no-pager、tail -n 50のような非対話型の形を使ってください。
3. SFTP、FTP、FTPS でファイルを転送する
- ツール › ファイル転送を開きます。
- 「プロトコル」を SFTP、FTP、FTPS から選びます。ポートは通常の既定値(22、21、990)に変わります。
- 「ホスト」、「ポート」、「ユーザー名」、「パスワード」を入力するか、許可している FTP サーバーなら「匿名」をオンにします。
- 「この接続を保存」をオンにし、必要なら「パスワードを記憶」もオンにします。
- 「接続」をタップして、フォルダーを閲覧します。
フォルダーの画面から、「アップロード」、「ダウンロード」、「名前を変更」、「削除」、そして「新しいフォルダ」の作成ができます。削除は元に戻せないため、確認を求められます。
どのプロトコルを選ぶか
- SFTP は SSH 上で動作するので、SSH 接続できるマシンなら、追加のサービスなしで通常は利用できます。こちらを優先してください。
- FTPS は TLS を使う FTP です。NetBlade は最初の接続でサーバーの証明書を固定し、以降の接続ではデータ接続も含めてそれを確認します。
- FTP はパスワードとファイルを平文で送信し、アプリもそのことを注意します。信頼できるネットワークで、他に手段がない場合にだけ使ってください。
注: iPhone では、手順 1 で説明したホスト鍵の確認は SSH ターミナルに適用されます。ファイル転送の画面は SFTP サーバーのホスト鍵を検証しないので、信頼できるネットワークで、よく知っているマシンに接続してください。
4. 保存したホストを管理する
保存したホストは各画面の上部、SSH では「保存済み」、ファイル転送では「保存した接続」の下に表示されます。タップすると接続情報が入力されます。鍵のアイコンは、パスワードが記憶されていることを示します。
削除するには、長押しして「削除」を選びます。保存した項目と、記憶したパスワードが削除されます。
ヒント: ホーム画面で NetBlade のアイコンを長押しすると、最後に保存した SSH とファイル転送のホスト 4 件がクイックアクションとして表示されます。タップすると、接続を始めた状態でツールが開きます。
5. パスワードの保存場所を知っておく
- 記憶したパスワードは、このデバイスの iOS キーチェーンにのみ保存されます。他のデバイスと同期されることはなく、NetBlade のバックアップファイルにも決して含まれません。
- 保存したホストのその他の情報(アドレス、ポート、ユーザー名、ラベル)は、アプリのローカルデータに保存されます。
- 新しいデバイスで NetBlade を復元すると、保存したホストは戻りますが、パスワードは戻りません。もう一度入力してください。
これは意図的なものです。1 台のデバイスにとどまるパスワードは、忘れていたバックアップファイルから漏れることがありません。
うまくいったか確認する
- 「接続」のあと、出力領域にホストとユーザー名とともに “Connected to” と表示されます。
uptimeのようなショートカットで、サーバーから 1 行が返ってきます。- ファイル転送では、ホームディレクトリのフォルダー一覧が表示されます。
- 画面を離れて戻ってくると、ホストが保存済みの一覧に表示されています。
うまくいかないときは
- 共通のアルゴリズムがなく、ハンドシェイクに失敗する。 古い機器や、一部の強化された機器は、アプリと共通していないアルゴリズムを提示します。NetBlade はサーバーが提示したものを表示するので、どれなのかを確認できます。古い機器では、通常 SSH のファームウェア更新で解決します。
- ログインが拒否される。 ユーザー名とパスワードを確認してください。SSH ターミナルはパスワードでサインインします。鍵しか受け付けないアカウントはここでは使えません。
- コマンドが止まったように見える、または何も表示されない。 おそらくターミナルを待っています。非対話型の形を使ってください。
- “The TLS certificate … changed since the first connection”。 FTPS サーバーが別の証明書を提示するようになったため、NetBlade は接続しません。証明書が更新されたのかもしれませんし、傍受かもしれません。サーバーを運用している人に確認してください。