iPhone/iPad コンパニオン
FrontierStack
iPhone/iPad コンパニオン
フリートの監視、プッシュ通知、サービス操作、デバイス Web UI へのアクセスをポケットから — Mac と安全にペアリング。
目次
第 I
接続する
iPhone や iPad を Mac とペアリングし、安全に施錠し、どこにいても到達できる状態を保ちます。
第 1
FrontierStack Mobile へようこそ
サーバをポケットに。FrontierStack の Mac アプリのための安全なリモコンとして、どこにいても状況を確認し、通知を受け取り、対処できます。
FrontierStack(iPhone・iPad 版)は、Mac 上で動作する FrontierStack サーバ管理アプリのコンパニオンです。一から設定する独立した製品ではなく、それ自体がサーバを動かすこともありません。Mac アプリのための小さく安全なリモコンであり、デスクから管理しているサーバ・エージェント・デバイスを、どこにいても手元に置けます。
この小冊子はモバイルアプリ専用のマニュアルです。Web スタックから AI 管理者まで、Mac アプリが行うすべてを網羅した完全なデスクトップリファレンスはFrontierStack マニュアルにあります。ここでは、スマートフォンやタブレットをペアリングし、安全に保ち、日々使うために必要なことだけを扱います。
1.1このアプリとは
Mac アプリを頭脳、このアプリを信頼できる「手」だと考えてください。FrontierStack が住まうのは Mac です。SSH でサーバと対話し、AI 管理者を動かし、ヘルスを見守り、秘密情報を保持します。モバイルアプリは、署名され暗号化された接続を通じて、その Mac とだけ対話します。サーバに直接つながることは決してなく、Mac に依頼し、Mac が作業を行います。
この設計により、モバイルアプリはシンプルかつ安全に保たれます。スマートフォン側でフリートを設定する必要はなく、持ち歩く SSH 鍵もなく、失う資格情報もありません。機微なものはすべて Mac に留まります。スマートフォンが持つのは 1 つの秘密鍵 — 自身の身元 — だけです。
1.2スマートフォンからできること
モバイルアプリはデスクトップの完全なリモコンです。デスクを離れているときに必要となるものを、5 つのタブに整理して提供します。
- Fleet。ピン留めした全サーバ(ローカルの Mac を含む)を状態ドット付きで表示。開くとサービスの制御(起動/停止/再起動/リロード)、再起動、診断、ログ表示、Web UI、Remote Tools、Fleet Run に到達できます。ピン留めした LAN デバイスは折りたたみセクションで下に並びます。
- Services。Mac のサービスを折りたたみセクションで表示し、デスクトップと同期します — そこで非表示にしたものはここにも出ません。
- Shell。Mac や任意のサーバ上の本物のコマンドライン。Mac に保存された認証情報で自動ログインします(パスワードは端末に送られません)。保存済み・既製スクリプトも実行できます。
- AI。AI アドミニストレーターとのマルチターン会話。実行したツールを表示し、「変更を許可」をオンにするまで読み取り専用です。
- More。プッシュ通知、ネットワークのロケーション切替、Fleet Run、一時共有、デバイスの Web UI、設定、ヘルプ。
これらの一部はどこからでも使えますが、一部はスマートフォンが適切なネットワークに到達できるかに依存します。どれがどちらかは接続を保つで正確に説明します。
1.3なぜ Mac が必要か
このアプリは単体では動作しません — そしてそれは意図的です。Mac こそが、サーバ・エージェント・デバイスと対話する頭脳です。フリートへの SSH 接続、証明書、秘密ボールト、アラートエンジン、AI 管理者を保持します。スマートフォンは、それらすべてを覗く安全な窓です。
Mac が実作業を担うため、3 つのことが導かれます。ライブデータの表示やコマンドの送信には、Mac が起動し到達可能である必要があります。プッシュ通知は Mac(およびそのサーバエージェント)で生成されスマートフォンへ中継されるため、通知するには Mac またはそのプッシュリレーがオンラインである必要があります。そして、スマートフォンに何を許すかを定める権限は、スマートフォンではなく Mac で設定します — 一箇所で主導権を握り続けられます。
1.4インストールの順序
セットアップは、次の順序で 3 ステップです。
- Mac に FrontierStack をインストール。デスクトップアプリをダウンロードして起動し、端末からの接続を受け付けられるよう制御サーバをオンにします。これが土台であり、これなしにスマートフォン側は何も動きません。
- iPhone または iPad にこのアプリをインストール。App Store から FrontierStack Mobile を入手します。初回起動時は、ペアリングされるのを待つだけです。
- 2 つをペアリング。Mac で the Paired Devices pane からペアリング用 QR コードを生成し、このアプリでスキャンします。以後は両者が連携し、スマートフォンは固有の鍵で登録されます。
次章デバイスのペアリングで、このペアリングを詳しく解説します。
1.5本マニュアルの構成
この小冊子は 2 部構成です。接続する — いまお読みの部 — では、この「ようこそ」に続いて、デバイスのペアリング、接続を安全に保つセキュリティモデル、そして自宅・Tailscale 経由・外出先で接続を保つ方法を扱います。続くFrontierStack Mobile を使うでは、アプリそのもの — 各タブ(Fleet、Services、Shell、AI、More)と、最後に設定とトラブルシューティング(アプリロック、接続できないときの確認事項を含む)— を順に解説します。
1.6プラットフォーム要件
FrontierStack Mobile は iPhone と iPad の両方で動作するユニバーサルアプリで、それぞれにレイアウトを適応させます。比較的新しいバージョンの iOS または iPadOS が必要です。App Store からインストールしてください。お使いの端末が対応しているかは App Store が知らせます。実用するには、ネットワーク・Tailscale・Cloudflare トンネルのいずれかで到達可能な、FrontierStack デスクトップアプリを実行中の Mac も必要です。
全体像はこれだけです — 作業を担う Mac、安全なリモコンとしてのスマートフォンやタブレット、そしてその間の署名されたリンク。準備ができたら、デバイスのペアリングへ進んで始めましょう。
第 2
デバイスをペアリングする
Mac の QR コードを 1 回スキャンすれば、iPhone/iPad は自分の鍵を登録します。あとは Mac が、できることを正確に決めます。
ペアリングは、この App と Mac 上の FrontierStack を結び付けます。QR コード 1 つと数秒で完了します。そのシンプルさの裏で、App はこのデバイスにだけ存在する秘密鍵を登録します。以後、Mac はこの iPhone/iPad を正確に認識し — 信頼 — できます。本章では、ペアリング、新しいデバイスの承認、そしてできることを決める権限レベルを順に説明します。
2.1ペアリングの仕組み
Mac は頭脳で、サーバ・エージェント・デバイスと対話します。この App はその安全なリモコンです。ペアリングは、両者が互いを恒久的に認識するための手続きです。QR コードをスキャンすると、3 つのものが iPhone に渡ります — Mac への到達経路(自宅・オフィスのネットワーク、Tailscale、Cloudflare トンネル)、ワンタイムトークン、そしてピン留め用の Mac の証明書フィンガープリントです。続いて iPhone は自分の鍵を生成し、Mac に登録します。この最初のハンドシェイクの後、ワンタイムトークンは使い切られ、以後のリクエストはすべてデバイス自身の鍵で証明されます(セキュリティ参照)。
2.2ステップ・バイ・ステップ
- Mac で FrontierStack → Paired Devices(概要グループ)を開きます。
- デバイスをペアリングをクリックします。QR コードが表示されます。
- この App で QR コードをスキャンをタップし、カメラを Mac の画面に向けます。
- App がコードを読み取り、鍵を登録して接続します。新しいデバイスが Mac の一覧に表示されます。
Mac に到達できない? Bluetooth でペアリング。制限された Wi-Fi ネットワーク — ゲストネットワーク、クライアント分離、キャプティブポータル — では、App が QR を問題なく読めても接続に失敗することがあります。Mac 側で Bluetooth ペアリングを許可(Paired Devices ペイン)がオンで、Mac から数メートル以内にいるなら、Bluetooth でペアリングをタップすると、代わりに近距離の Bluetooth リンク経由で登録が完了します。同じ一度きりの QR コードと同じ署名付きハンドシェイクを使い — 変わるのはトランスポートだけ — ネットワーク経由のペアリングと結果は同一です。Mac がペアリングダイアログを開いている間だけ Bluetooth でアドバタイズします。
2.3QR コードが運ぶもの
QR は単なるトークンではなく、Mac へ安全に到達するために App が必要とするすべてです。
- 到達経路 — 自宅/オフィスのネットワーク、Tailscale、Cloudflare トンネルのアドレス。自宅でも外出先でも Mac を見つけられます(接続を保つ)。
- ワンタイムトークン — 最初の登録だけに使われ、その後破棄されます。
- 証明書フィンガープリント — Mac の HTTPS 証明書をピン留めでき、自己署名証明書でも接続を傍受できません。
2.4新しいデバイスを承認する
ペアリング直後のデバイスは読み取り専用で始まります — 状態やアラートは見られますが、あなたが許可するまで何も変更できません。Mac のPaired Devicesペインでは、各デバイスが名前・鍵のフィンガープリント・最終接続時刻とともに一覧されます。そこで権限レベルを上げ、名前を変更し、または失効できます。
2.5権限レベル
各デバイスがどこまでできるかは Mac が決めます。レベルは Mac の「Paired Devices」ペイン(概要グループ)で設定します。
| レベル | このデバイスにできること |
|---|---|
| 読み取り専用 | 状態・アラート・ログ・デバイスページの閲覧。変更不可。 |
| 再起動 | 読み取り専用に加え、サービスの開始/停止/再起動。 |
| 操作 | 再起動に加え、フリート操作。 |
| フルコントロール | ツール・スクリプト・共有の開始を含むすべて。 |
ボタンが無効、または操作が拒否される場合、このデバイスのレベルが許可していません — Mac で引き上げるか、すでに権限のあるデバイスを使ってください。
デバイスをペアリングしてレベルを設定すれば、App を使う準備は完了です。自宅・外出先での接続は次章接続を保つで、日々のタブはApp を使うで扱います。
第 3
セキュリティ
なぜポケットの中から、オープンなインターネット越しでも安全に Mac を操作できるのか。署名付きリクエスト、ピン留めされた暗号化、アプリロック、そして端末を失くしたときの即時失効。
このアプリは、実在する Mac 上の実サービスを、ときには地球の裏側から起動・停止できます。それが理にかなうのは、盗まれた端末・盗聴されたネットワーク・推測されたトークンのどれもが、そのままではサーバの制御に変わらない場合だけです。FrontierStack は、それらのどれも単独では不十分になるよう作られています。本章ではその層を解説し、なぜ Cloudflare トンネル越しにどこからでも安全に Mac へ到達できるのかを説明します。
3.1すべてのリクエストに署名する
最も強力な保護は目に見えません。この端末はペアリング時に自分専用の秘密鍵を生成し、iOS の Keychain に保存しました — 鍵は端末から出ることはなく、このアプリでさえ平文として読み出せません。アプリが Mac に送るすべてのリクエストは、その鍵で署名されます。Mac は承認した端末を公開鍵ごとに許可リストとして保持し、リクエストのたびに、送信元を名乗る端末に対して署名を検証します。
これが FS1 端末ごとのモデルです。Ed25519 署名を用い、署名付きリクエストにはタイムスタンプと一回限りのナンスも含まれるため、捕捉されたリクエストは数秒後でも再送できません。実用上の肝心な点はこうです — 旧来のアプリが頼るような共有秘密、すなわちベアラートークン単体では、ここでは何も制御できません。この端末の秘密鍵がなければ、コピーされたトークンは無力です。
3.2暗号化・ピン留めされた接続
署名は誰が話しているかを証明し、暗号化は何を話すかを守ります。Mac が HTTPS アドレスを広告すると、このアプリは通常の安全な接続と同じく TLS で通信します。ただし一ひねりあります — Mac は自ら生成した自己署名証明書を使うため、その正当性を保証する公的な認証局が存在しません。
代わりに、アプリは証明書のピン留めを使います。ペアリング用の QR コードには、Mac の証明書の正確なフィンガープリントが含まれていました。それ以降、アプリはそのフィンガープリントと完全に一致する証明書を提示する接続だけを受け入れます。中間に割り込んで自前の証明書を差し出す攻撃者は、たとえ「有効な」証明書であっても、ペアリング時にピン留めしたものと一致しないため拒否されます。
3.3どこからでも安全な理由
この 2 つを合わせれば、公開経路 — たとえば Cloudflare トンネル — 越しに Mac へ到達することが、無謀ではなく安全である理由が見えてきます。トンネルは通信を運ぶだけで、偽造はできません。
- 接続は暗号化されピン留めされているため、トンネル(および経路上の誰か)が見るのは、なりすませない証明書宛ての暗号文だけです。
- すべてのリクエストはこの端末の鍵で署名されているため、Mac に届いた何かがあっても、Mac が受け入れるコマンドは発行できません。
- 再送はリクエストごとのタイムスタンプとナンスで防がれるため、捕捉したリクエストの再送は失敗します。
公開経路を存在させるかどうかは Mac が決め、いつでも閉じられます。ここでは何一つネットワークが私的であることに依存していません — 保護は各リクエストとともに運ばれます。
3.4アプリロック
誰かがロックされていないあなたの端末を手に取るだけなら、ネットワークのセキュリティは役に立ちません。アプリロックがその隙を塞ぎます。設定でパスコードを有効にすると、以降アプリは入力するまでロックされ、ワンタップ解除のために Face ID または Touch ID を追加できます。アプリは離れるたびに再ロックします — 別のアプリに切り替えたり端末をロックしたりすれば、戻ったときに再び尋ねられます。
パスコード自体は保存されません。アプリは端末の Keychain にソルト付きハッシュだけを保持するため、端末を手にしても読み出せるパスコードはありません — 入力がハッシュ化されて保存値と一致するか、しないか、それだけです。生体認証は iOS が処理し、アプリには可否だけを伝えます。
Mac のロックのミラーリング。Mac 自体にアプリロックのパスワードが設定されている場合、このアプリはペアリング時にそれを取り込み、施錠して同じパスワードを要求します。パスワードが送られることはなく、ソルト付きハッシュだけがピン留めされたペアリング接続で渡され、端末側で入力をローカルに照合します(両者は同一方式です)。ミラーリング中は端末側でロックの変更や解除はできず、Mac に従います。
3.5この端末に許可された操作
認証が「これは本当に私の端末か?」に答えるのに対し、権限スコープは「ではどこまでできるか?」に答えます。その判断はここではなく Mac にあります。ペアリング済みの各端末には 4 つのレベル — 読み取り専用・再起動・操作・フルコントロール — のいずれかが割り当てられ、Mac が署名付きリクエストごとにそれを適用します。常に持ち歩く端末は、完全にペアリングされていても低いレベルに安全に留められます。
ボタンが無効だったり操作が拒否されたりするのは、この端末のレベルがそれを許していないからです — Mac で引き上げるか、すでに権限のある端末を使ってください。4 つのレベルとそれぞれが解除する範囲は ペアリング にまとめてあります。
レベルと並んで 2 つの許可があり、どちらも Mac 側で設定します。AI 管理者を許可(既定はオン)は、この電話が AI タブをそもそも使えるかを決めます — 一方の端末にはチャットを許可しつつ別の端末をブロックできます。リモートシェルを許可はフルコントロールのときのみ表示され、既定はオフです。これはこの端末が Shell タブを開き、サーバへ直接到達するために必要です。どちらもバイパスではありません:AI を許可していても、変更にはフルコントロールの「Allow changes」とアプリのロック解除が依然として必要です。
3.6端末を失くしたとき
各端末が自分の鍵を持つため、1 台を切り離すのに他は一切変更する必要がありません。Mac でセキュリティ ▸ ペアリング済みモバイル端末を開き、名前で端末を探して失効させます。その鍵は直ちに許可リストから削除されます — 次にその端末が Mac へ通信を試みた瞬間、署名は拒否されます。他の端末はそのまま動き続けます。
Mac 上での失効が決定的な手順です — 端末そのものに手が届かなくても、その端末を止められます。アプリ内の「この端末のペアリング解除」は、まだ手元にある端末で接続を忘れるだけです。失くした端末は、Mac で失効させてください。
本当に手元を離れた電話には、Mac がより強力なワンクリック操作 紛失した電話を保護を用意しています。鍵の失効に加えて、その端末の古いキュー操作を直ちに取り消し、開いているセッションを閉じ、直接アクセス用にサーバへ導入した SSH 鍵を削除し、プッシュ通知を無効化します。その時点でオフラインのサーバは一覧に残るので、復帰後に鍵の削除を完了できます。
第 4
つながり続ける
あなたがどこにいても、アプリがどのように Mac を見つけ出すか — 同じ Wi-Fi、Tailscale、あるいは Cloudflare トンネル — そして、あの小さな色付きの点が何を伝えているのか。
ペアリングのあと、アプリがアドレスの入力を求めることは二度とありません。QR コードを読み取った瞬間に取り込んだ、Mac へ到達するいくつもの経路をすでに知っていて、応答が返るまで静かに順番に試します。本章では、その順番、外出先からのアクセスがときに一手間を要する理由、そして接続状態をひと目で読み取る方法を説明します。
接続全体は、Mac のコントロールサーバに支えられています。そのサーバがオフになっていたり、Mac がスリープ中・電源オフ・ネットワーク圏外だったりすれば、アプリが到達できる相手は存在しません。そこで本章の最後では、すべてが機能するために満たされていなければならない条件をまとめます。ペアリングそのものは第 3 章を、コントロールサーバのデスクトップ側はデスクトップ版マニュアルを参照してください。
4.13 つの帰り道
ペアリング時、QR コードはトークン以上のものを運んでいました — Mac を見つけられるアドレスの小さな一覧です。自宅やオフィスのネットワーク上のアドレス、Tailscale のアドレス、そして Mac が有効化している Cloudflare トンネルのアドレス。アプリはこの一覧を保持し、Mac と通信が必要になるたびに、固定の順番でたどります。
- まず自宅・オフィスのネットワーク。電話機と Mac が同じ Wi-Fi(または有線 LAN)にあれば、アプリは直接接続します — 間に何も挟まない、最速・最小遅延の経路です。
- 次に Tailscale。直接接続が応答しなければ、アプリは Mac の Tailscale アドレスを試します。電話機と Mac が同じ tailnet のメンバーである限り、どこにいても機能します。
- 最後に Cloudflare トンネル。どちらも機能しない場合、アプリは Cloudflare トンネルにフォールバックします — ただし Mac がトンネルを有効化している場合に限ります。自前のネットワークがなくても、どこからでも Mac に到達します。
アプリは前回うまくいった経路を覚えていて、次回はそれを最初に試すため、なじみのネットワークでの再接続はほぼ瞬時です。経路を手で選ぶことはありません。アプリを開けば、生きている経路に自動的に着地します。
4.2同じ Wi-Fi にいるとき
自宅やオフィスで — 電話機と Mac が同じネットワークにあるとき — アプリは直接経路をとります。これが最良のケースです。すべてに到達でき、速い。サービス状態、起動と停止、アラート、AI、デバイスの Web UI、LAN 共有のすべてが、電話機が Mac のすぐ隣にあるかのように振る舞います。ネットワーク的には、まさにその通りだからです。
Mac が HTTPS アドレスを広告している場合、アプリはペアリング時に取り込んだ証明書のフィンガープリントで Mac の身元を検証するため、自己署名証明書であっても、自分のネットワーク上でなりすまされることはありません。
4.3外出先にいるとき
ネットワークを離れた瞬間、直接経路は応答しなくなり、アプリは残る 2 つへ移ります。外出先からのアクセスは、結局のところ単純な問いに帰着します — いま電話機は、そもそも Mac に到達できるのか?
- Tailscale は、電話機と Mac が tailnet を共有していれば「はい」と答えます。最も信頼できる外出先経路です。携帯回線でも、ホテルやカフェの Wi-Fi でも、ほとんどどんなルータの背後でも、ポートを開けずに機能します。
- Cloudflare トンネルは、Mac がトンネルを稼働させていれば「はい」と答えます。電話機側には何も要らず、どこからでも到達しますが、Mac がそのトンネルを維持し続けることに完全に依存します。
どちらも利用できなければ — 共有 tailnet なし、トンネルなし — アプリは外から Mac を見ることができず、状態の点はオフラインになります。これは不具合ではなく想定どおりの挙動です。プライベートな自宅ネットワーク上の Mac は、設計上、公開インターネットからは到達できません。
4.4デバイスの Web UI と LAN 共有
Mac に到達することは、話の半分にすぎません。Web UIs(More 内)はネットワーク上の他の機器 — ルータ、NAS、プリンタ、ダッシュボード — の Web インターフェイスを開き、Shared(More 内)は Mac が一時的に公開した LAN 共有を開けます。これらはネットワーク自体に存在し、Mac 上にあるわけではありません。したがって、アプリが Mac に到達できることは、これらに到達できることを保証しません。
デバイスの Web UI や LAN 共有に到達できるのは、電話機が実際にそのネットワークに入れるときだけです。
- 同じ Wi-Fi 上 — LAN 上のすべてに直接到達できます。
- Tailscale 経由 — tailnet がそのネットワークへ経路を持つとき、たとえば LAN の範囲を広告するサブネットルータを介すれば到達できます。それがなければ、Tailscale は Mac には届いても、その隣のプリンタには届きません。
これが、上記の TIP がサブネットルータ、あるいは Tailscale に接続されたルータを勧める実用上の理由です。「Mac に到達できる」を「ネットワーク全体に到達できる」に変え、それこそが Web UIs と Shared を外出先で役立つものにします。
4.5接続状態の点
Fleet tab ヘッダーの色付きの点は、いま Mac と通信できているかを正直にまとめたものです。3 つの状態があります。
| 状態 | 意味 |
|---|---|
| 接続済み(Connected) | アプリが 3 つの経路のいずれかで Mac に到達し、ライブデータを表示しています。サービスの操作は、この端末のアクセス権限が許す範囲で機能します。 |
| 接続中(Connecting) | アプリが経路を順に試しています。起動直後、ネットワーク切り替え後、プルして更新の直後など、しばらくの間はこれが正常です。 |
| オフライン(Offline) | どの経路も応答しませんでした。Mac がスリープ・電源オフ・現在地から到達不能 — あるいはコントロールサーバがオフです。アプリは最後に取得したデータを、古い旨を明示して表示します。 |
新しい試行を強制するには、Fleet tab でプルして更新します。アプリが経路一覧を再びたどる間、点は接続中に戻り、その後接続済みかオフラインに落ち着きます。何かが固まったり古く見えたりしたら、まず試すべきもプルして更新です。
4.6満たされていなければならない条件
3 つの経路はいずれも、存在しない接続を生み出すことはできません。アプリが Mac に到達するには、次のすべてが成り立っている必要があります。
- Mac のコントロールサーバが有効。電話機が通信する相手はこのサービスです。Mac 側でオフになっていれば、すべての経路が失敗し、点はオフラインのままです。
- Mac がオンラインで到達可能。起動していて、ネットワーク上にあり、電話機の現在地から到達できる必要があります — 同じ Wi-Fi、共有 tailnet、あるいは Cloudflare トンネル経由で。スリープ中の Mac は何も応答しません。リモートアクセスに頼るなら、スリープさせない設定を検討してください。
- 外出先なら、機能する外出先経路があること。自宅ネットワークの外では、両端の Tailscale、または Mac が稼働させ続けるトンネルを意味します。
プッシュ通知も、逆方向ながら同じ論理に従います。アラートを送るには、Mac(またはそのプッシュリレー)がオンラインでなければなりません。アラートが途絶えたときの原因は、たいてい接続が失われたときと同じ — Mac がスリープ・電源オフ・到達不能です。下の表は 3 つのロケーションを結びつけます。
| あなたの居場所 | 接続方法 | 到達できるもの |
|---|---|---|
| Mac と同じ Wi-Fi/LAN | ネットワーク経由で直接 | すべて:Mac、サービス、AI、デバイスの Web UI、LAN 共有 |
| 外出先、tailnet 共有あり | Tailscale | Mac と AI。サブネットルータがそのネットワークへ経路を持てば、デバイスや LAN 共有も |
| 外出先、Cloudflare トンネルのみ | Cloudflare トンネル(Mac が有効化) | Mac と AI。デバイス UI は別途到達可能な場合のみ |
| 外出先、Tailscale もトンネルもなし | —(経路なし) | ライブなものなし。オフライン、既知の最終データのみ |
第 II
FrontierStack モバイルを使う
日々使う 5 つのタブ — フリート、そのサービス、シェル、AI 管理者、その他は More にまとめて。
第 5
アプリを使う:Fleet・Services・Shell・AI
ペアリングが済めば、アプリはデスクトップの完全なリモコンになります。本章では 5 つのタブが何を表示し、何ができるのかを順に解説します。
iPhone/iPad 版 FrontierStack は、Mac 上の FrontierStack アプリの完全なリモコンです。メイン画面は Fleet・Services・Shell・AI・More の 5 つのタブからなります。各タブは、Mac がすでに行っていることをのぞく窓であり、ペアリング時に確立した安全な署名付き接続を通じて手元の端末に届きます。本章ではこの 5 つすべてを扱います。設定とロック画面は次章で、ペアリング自体は「デバイスをペアリングする」で説明します。
すべてのタブを貫く考え方が 2 つあります。第一に、Mac が頭脳です。端末は Mac が見て行うことを表示・操作するだけなので、Mac がオフラインだとタブは静かになります。第二に、何ができるかは、この端末の権限レベル(Mac 側で設定)によって決まります。最も強力なもの(生のシェル、AI に変更を許可)は追加の付与が必要で、その都度説明します。
5.1Fleet — サーバとデバイス
Fleet タブがホームです。上部の端末接続とフリートは、端末から Mac への接続経路と、Mac が監視・デバイスの対象に使うフリート拠点を分けて表示します。その下にサーバとピン留めデバイスの 2 グループが並びます。
Servers セクションはピン留めした全サーバを一覧します — ローカルの Mac は最初の行にすぎず、他と同じように操作できます。各行には状態ドットが付きます。
| ドット | 意味 |
|---|---|
| 緑 | Up — 到達可能で健全。 |
| 橙の三角 | Degraded — 到達可能だが要注意。 |
| 赤 | Down — 現在 Mac から到達できません。 |
| 中空 | Unknown — まだ未計測。 |
サーバをタップして開きます。詳細画面ではデスクトップと同じホストレベルの操作ができます。
- サービス — 検出した各サービスの起動・停止・再起動・リロード。
- 再起動、診断の実行(今何が問題かを平易に)、ログ表示。
- Web UI を開く(組み込みブラウザ)、シェルを開く(このサーバに紐づくシェルへ)。
- Remote Tools — ping・traceroute・待受ポート・Web チェック・ログ tail をサーバ上で実行。
- Fleet Run — 全サーバへの一括操作(下記 More を参照)。
- Full status details — Mac が把握しているホスト情報を 1 画面に集約:OS・稼働時間・CPU・メモリ・全アドレス・各サービスの状態・SSH 情報(ホスト鍵のフィンガープリントを含む)。詳細画面は操作を主に置いていますが、こちらは診断のための残り半分です。
- Performance & history — 後述。
- Emergency — 後述。
5.5.1Performance & history
デスクトップでは現在のパフォーマンスと Behaviour & History は別セクションですが、端末では「このマシンは正常か」という 1 つの問いに答えるため同じ画面にまとめています。現在の状態(CPU・メモリ・ディスク・ロード・稼働時間)に続き、6 時間から 1 週間の推移をグラフで表示し、判定を示します:正常の基準を学習中、正常に動作中、またはこのサーバにとって異常な点の具体的な指摘です。
再起動はグラフ上に赤い破線で表示され、オンホストのウォッチドッグが動作した時点と共に下に一覧されます。この文脈こそがスパイクを読み解く鍵です。CPU の急落は、その最中にマシンが再起動していたなら意味がまったく変わります。
5.5.2Emergency — SSH 自体が失われたとき
データベースが接続プールを使い切ると、多くの場合そのマシンは SSH も受け付けなくなります。つまり「ログインして直す」という通常の手段が、まさに必要なその瞬間に失われます。Emergency 画面はそのためにあります。その操作はデータベースに直接、そのプロトコルで、そのポートに接続します。ログインができなくても機能します。
手順は影響の小さいものから順に並んでいます。Kill connections が最初にあるのは、これだけでサーバが復旧することが多いためです——再起動も電源断も不要です。その後、書き込みの停止、ディスクへのフラッシュ、最後にデータベースのクリーンシャットダウン(この後なら電源の強制断も安全)と進めます。データベースを停止する操作は必ず確認を求めます。
サーバの下に、ピン留めデバイスが種別ごとの折りたたみセクション(ルータ、スイッチ、プリンタ、NAS、スマートホームなど)で並びます。各行にはオンライン/オフラインのドットと、Web UI を開く・状態確認・電源再投入(Mac 側でプラグや KVM を紐づけている場合)のメニューが付きます。
5.2Services — ライブ状態(Mac のサイドバーとは独立)
サービスの状態と操作は Operations タブにあります。現在実際に動作しているものを表示し、この端末に許可された範囲で開始・停止・再起動・リロードを行えます。
本アプリは Mac のサイドバーとは独立 しています。デスクトップ側でウインドウを整理するために非表示にした項目も、ここからは到達できます。2 つの画面は用途が異なります。デスクに向かっているときは日常的に見るものを絞り込み、外出先では壊れたものに到達したいからです。端末での操作が Mac の表示を変えることはなく、Mac で非表示にした項目が端末から隠されることもありません。
5.3Shell — 本物のコマンドライン
Shell タブは Mac や任意の連携サーバ上のコマンドラインを開きます。上部のバーで対象 — This Mac または任意のサーバ — を選び、コマンドを入力して出力を読みます。サーバへは、Mac に保存済みの鍵と認証情報で自動ログインします。sudo コマンドはサーバの保存済み sudo パスワードを使います。これらの認証情報が端末に届くことはありません — Mac がコマンドを実行し、出力だけを返します。
More → Scripts には、Mac から同期された保存済みスクリプトと既製のメンテナンスプリセットがあります。タップして実行し、出力を確認できます。
直接 SSH — Mac がオフラインのとき。上記のシェルは Mac を経由します。サーバのページでは Enable direct SSH(Mac がオンラインのとき)をタップして、この端末自身の SSH 鍵をそのサーバに導入できます。以後は SSH (direct) で、端末からサーバへ直接、本物のターミナルを開けます — Mac がオフラインでも別ネットワークにいても — サーバのネットワークに到達できる限り(同じ Wi-Fi または Tailscale 経由)。端末の SSH 鍵は端末上で生成され、端末から出ることはなく、Mac 自身の鍵やパスワードが端末にコピーされることもありません。デバイスを失効またはペアリング解除すると、その鍵はサーバから削除されます。
cd は効きます)。通常のコマンドやスクリプトを実行しますが、top や vim のような全画面ターミナルプログラムには対応しません。5.4AI — 管理者と会話する
AI タブは、Mac 上で動くのと同じ AI 管理者とのマルチターン会話です。サーバ・サービス・デバイスについて平易な言葉で尋ねると、作業しながら実行したツールとその結果をその場に表示するので、どう答えに至ったかが分かります。
既定ではアシスタントは読み取り専用で、見るだけで変更はしません。右上の 「Allow changes」をオンにすると操作を許可します:サービスの再起動、DNS のフラッシュなど。会話履歴 — 秘密情報を含みうるツール結果も — は Mac に残り、端末には表示用の応答だけが届きます。ここでの AI の動作はすべて Mac 上で実行され、デスクトップと同じガードに従います。端末ごとの会話は Mac の AI 管理者を許可スイッチで完全にオフにでき、常にアプリのロック解除とこの端末の署名を必要とします。電話からの会話は Mac の AI 管理者履歴に保存されるので、そこで続きを再開できます。
各応答の左にある緑のシールドは、その答えが保護されたことを意味します:AI モデルへ何かが Mac を離れる前に、FrontierStack がツール結果から秘密情報(鍵・トークン・パスワード)を除去しました — シールドをタップすると意味が読めます。質問と応答はどちらも選択してコピーできます(長押し、または Copy 操作)。他所に貼り付けられます。またサーバを選択しているときは、アシスタントはそのマシンについて答えます — クエリ自体は Mac 上で動きますが、「どれくらい稼働している?」「何が待ち受けている?」は Mac ではなく選んだデバイスにスコープされます。
5.5More — アラート・ロケーションなど
More タブは、専用タブが要らないものをまとめます。
5.5.3キュー運用
キュー運用は Mac の読み取り専用キューダッシュボードを表示します。プルして RabbitMQ、Kafka、NATS/JetStream、Redpanda、AWS SQS、Azure Service Bus、Google Pub/Sub、Celery、Redis Streams、Pulsar、RocketMQ の健全性を更新できます。メッセージ本文をダウンロードせず、バックログ・コンシューマ・遅延・デッドレター合計を表示します。資格情報としきい値は Mac で設定し、端末が受け取るのは署名付きのサニタイズ済みヘルスサマリーだけです。
5.5.4Alerts
Alerts はサーバアラートの受信箱です — サービス停止、ディスク逼迫、証明書の期限切れなど — Mac とそのエージェントが発します。Enable push notifications をタップすれば、アプリを閉じていても届きます。プッシュの送信には Mac(またはそのリレー)がオンラインである必要があります。
5.5.5Checks — ウォッチドッグと保守用の一時停止
Checks は Mac の Service Guardian の管理画面です。監視対象のサービス、それぞれの健全性、Keep Alive や Auto Recover が有効かどうかを確認できます。デスクトップ版マニュアル 第 11 章 のペインを端末側から見たものです。
ディスク修復は自動的に保護されます。Disk UtilityのFirst Aidやファイルシステム修復ツールの実行中は、設定を変えずに自動復旧を一時停止します。保守中のタイムアウト回数を消去し、修復終了後も60秒待ってから新しい状態で再開します。この安全停止はChecks画面に表示されます。
便利なのが一時停止です。作業を始める前に、すべてのチェック、または特定のサービスだけを 15 分から 1 日まで一時停止できます。停止中は Mac がヘルスチェックも再起動も行わないため、保守作業がウォッチドッグと衝突したり、アラートを発生させたりしません。
5.5.6端末接続とフリート拠点
端末接続とフリート拠点は、以前の「ロケーション」という表示で混同しやすかった 3 つを分けます。この iPhone から Mac への接続方法、Mac 自身のネットワークから一致した拠点、そして監視・デバイスの対象に使うフリート拠点です。端末の現在地やネットワークがフリート拠点を選ぶことはありません。
Mac が検出した拠点に追従を選ぶと、フリートの対象は Mac に追従します。別のフリート拠点に固定しても、端末から Mac への接続経路は変わらず、別拠点のプライベートネットワークが自動的に到達可能になることもありません。その拠点のデバイスを開くには、Tailscale や VPN など既存の経路が必要です。
5.5.7Fleet Run・共有・Web UI
Fleet Run は全サーバへの一括操作 — パッケージ更新、サービス再起動、ディスクや稼働時間の確認 — を実行し、ホストごとの結果を表示します。Shared は Mac が開いた一時的な Debug Share(トンネル経由で公開した localhost 開発サイトなど)を一覧し、開いたり停止したりできます。新規に開くにはフル権限と Mac 側の「Allow changes」が必要です。Web UIs & Bookmarks は、ルータ・NAS・カメラの管理ページを自己署名 LAN 証明書を信頼する組み込みブラウザで開き、端末側でブックマークしたアドレスも扱えます。
5.5.8端末の中のマニュアル
More ▸ Manual は、本書をアプリ内に収録したものです。ネットワークもペアリング済みの Mac も不要です。トラブルシューティングの章は、まさに何かに到達できないときに最も役立つため、これは重要です。章ごとに読むことも、本全体を検索することもできます。検索は端末上で実行されます。
最後に、More には設定とヘルプがあります — 次章で扱います。
第 6
設定・アプリロック・トラブルシューティング
アプリを顔やパスコードでロックし、端末を手放すときはきれいにペアリングを解除し、電話と Mac の間で起こりうる数少ないトラブルを解決します。
設定画面(More タブ内)は、この端末を保護し、後始末をする場所です。役割は 3 つ。アプリをパスコードや Face ID でロックすること、Mac との接続を管理すること、そして端末を手放すときにペアリングを解除する操作を提供することです。本章ではそれぞれを順に説明し、最後に、電話と Mac の間が静かになったわずかなケースのための、わかりやすい「症状と対処」の表で締めくくります。
6.1設定の概観
More → 設定を開きます。スクロールする 1 枚のフォームで、次のセクションに分かれています。
- App Lock — このアプリのパスコードと生体認証ロック。
- Notifications — 現在のプッシュ状態と、まだ許可していなければEnable notificationsボタン。
- Connection — ペアリングしている Mac、現在接続に使っているアドレス、この端末の鍵、そしてUnpair this device。
- Help & Guide と About — 本マニュアルと同じ内容のアプリ内ガイドと、バージョン情報。
以降の説明はすべて、このいずれかのセクションにあります。どれも Mac 側を変更するものではありません。これらの設定は、この電話やタブレットだけに関するものです。
6.2App Lock:アプリ用のパスコード
FrontierStack モバイルは実サーバのリモコンですから、端末のパスコードとは別に、アプリ専用のロックをかける価値があります。App Lock で Require passcode to open をオンにします。パスコード(4 桁以上)の設定と確認を求められます。以降、アプリはロックされた状態で起動し、全画面のゲートがEnter your passcodeとして表示され、入力するまで中身を見せません。
アプリは、離れるたびに再ロックされます — 別のアプリに切り替える、電話をロックする、FrontierStack をバックグラウンドに送る — ので、肩越しにのぞかれてもフリートが露出することはありません。後でコードを変えるには Change passcode をタップします(先に現在のコードを入力します)。削除するにはトグルをオフにし、現在のパスコードで確認します。
6.3Face ID と Touch ID
パスコードを設定し、端末が生体認証に対応していれば、追加のスイッチが現れます。Unlock with Face ID(または、お使いのハードウェアに合わせて Unlock with Touch ID)です。オンにすると、ロック画面は表示された瞬間に生体認証ロック解除を提示します — ほとんどパスコードを打つことはありません。パスコードは、顔や指が認識されなかったときのフォールバックとして残ります。
生体認証ロック解除は、パスコードの上に重ねる利便性であって、置き換えではありません。先にパスコードを設定する必要があり、パスコードを削除すると生体認証も自動的にオフになります。端末に Face ID や Touch ID がなければ、このスイッチは表示されず、パスコードが唯一のゲートになります。
6.4この端末のペアリング解除
電話を売る、他人に渡す、あるいは単に接続をやり直したいときは、Connection セクションの Unpair this device を使います。確認を求められ、確認するとアプリはペアリングを忘れます — Mac のアドレス、ピン留めした証明書、この端末の署名鍵 — そしてペアリング画面に戻ります。再接続するには、Mac から QR コードを再度スキャンします。
ペアリング解除は正しい第一歩ですが、消えるのはこの電話だけです。Mac 側では、そこで削除するまでこの端末はペアリング済みとして表示され続けます。紛失した、あるいは自分のものでなくなった電話については、両方を行ってください。
6.5トラブルシューティング
トラブルの多くは接続です。電話と Mac が互いを見つけられない、あるいは Mac 側の状態のせいで操作がグレーアウトしている、のいずれかです。まず表を上から確認し、その下の注記を読んでください。
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
| Mac に届かない — ドットがオフライン、または Fleet tab が空 | Mac のコントロールサーバが動いていない、または現在地から到達できない | Mac で FrontierStack が開いていてコントロールサーバが有効か確認する。同じ Wi-Fi にいるか、両端で Tailscale が接続済みか、または Cloudflare トンネルが有効かを確認し、引き下げて更新する。 |
| 操作がグレーアウト — ボタンは見えるが反応しない | Mac がロックされている、またはこの端末が読み取り専用 | Mac のロックを解除する、または the Paired Devices pane でこの端末のレベルを上げる。 |
| プッシュ通知が届かない | 通知が有効でない、または送信側がオフライン | Alerts(More タブ内)で有効化し、iOS が尋ねたら通知を許可する。送信のため Mac(またはそのプッシュリレー)がオンラインであることを確認する。 |
| デバイスの Web ページが開かない | 電話がそのデバイスのネットワークに届いていない | そのデバイスと同じ Wi-Fi に入るか、Tailscale 経由で到達する。アプリ内ブラウザは自己署名証明書をすでに信頼しているので、証明書の警告は問題ではない。 |
6.6Mac に届かないとき
アプリは、ペアリング時に取り込んだアドレスを順番に試します。まず自宅やオフィスのネットワーク、次に Tailscale、最後に Cloudflare トンネルです。どれも応答しなければ、Fleet tab の状態ドットはオフラインを示します。明白な原因を順に確認しましょう。Mac で FrontierStack は実際に開いていて、コントロールサーバはオンですか? 同じ Wi-Fi にいますか? 外出中なら、Tailscale は電話と Mac の両方(またはサブネットルータ)で接続済みですか、あるいは Mac は Cloudflare トンネルを有効にしていますか? Fleet tab での引き下げて更新は、アプリにすべての経路を再試行させます。設定の Reached via の行は、現在どのアドレスが機能しているかを示し、接続が生きているか手早く確認できます。
6.7グレーアウトした操作と届かないアラート
状態は見えるのに Start/Stop ボタンが反応しない場合、アプリが壊れているのではありません — いまその操作が許可されていないことを伝えているのです。Mac がログインウィンドウでロックされているなら、誰かが解除するまでリモートコマンドに応じません。あるいは、この端末の権限レベルが低すぎます。Mac の the Paired Devices pane でレベルを上げるか、すでに権限のある端末を使ってください。
アラートについては、連鎖に両端があることを思い出してください。電話側で通知が有効になっている必要があり — 設定の Enable notifications、そして iOS が尋ねたら許可 — かつ Mac(またはそのプッシュリレー)が送信のためオンラインである必要があります。アラートがぱたりと止まったときの最もよくある原因は、Mac がスリープまたはオフラインになったことです。起こして、Fleet tab から到達できることを確認してください。
6.8ここから先へ
これでコンパニオンアプリの全体像です。Mac から一度ペアリングし、どこからでもフリートを見守り、権限レベルが許す範囲で操作し、電話自体はロックしておく。FrontierStack が動かすすべてへの、忠実で安全な窓 — それがあなたのポケットの中にあります。
さらに詳しくは、アプリ内の Help & Guide(設定 ▸ Help & Guide)が本マニュアルと同じ内容で、お使いのバージョンに常に追従しています。重い処理を担うのはデスクトップアプリです。その専用マニュアルはすべてのペインとサービスを詳しく扱っています — FrontierStack マニュアルから始めてください。最新のニュース・ダウンロード・サポートが必要なときは、いつでも frontierstack.app をご覧ください。FrontierStack でサーバを運用いただき、ありがとうございます。