NeoServer:あらゆるネットワーク環境で接続を維持するiOS向けSSH・Moshターミナル
Index
これまでiPhoneからサーバーで作業するといえば、電車がトンネルに入った瞬間にSSHセッションが切断されるのを意味していました。入力途中のコマンドは消え、バックグラウンドジョブは応答しなくなり、どこまで作業したかを思い出しながら新しいシェルに再接続していました。
NeoServerはこれを解決します。2つのプロトコル、安全な接続を確立するSSHと、ネットワークが不安定な状況でも接続を維持するMoshを中心に構築されたiOSターミナルです。さらに、tmuxやzellijを深くサポートしているため、ネットワークの切り替え、バックグラウンドへの移行、何時間もの経過後でも接続が維持され、中断した正確な場所から作業を再開できます。
モバイル環境で通常のSSHが切断される理由
SSHはTCPセッションであり、すべてのパケットが重要です。不安定なモバイル通信、Wi-FiからLTEへのハンドオフ、またはわずかな通信圏外によって、TCP接続はストールします。多くのSSHクライアントは待機し、タイムアウトしてドロップします。1日に何十回もWi-Fiとモバイル通信を切り替えるスマートフォンでは、頻繁な再接続と作業の消失を意味します。
Mosh (Mobile Shell) はまさにこの問題を解決するために設計されました。スマートフォンで重要となる特性を持つ、UDPベースのクライアント・サーバープロトコルです。
- ローミング — Wi-FiからLTE、5Gに切り替えても、新しいIPアドレスに追従してセッションが継続します。再接続は不要です。
- 断続的な接続 — エレベーターで信号が途絶えても、復帰時にMoshが再開します。ローカルエコーにより、入力中のキーストロークは常に表示され続けます。
- 低遅延 — キーストロークがローカルでエコーされるため、高遅延の回線でもターミナルの反応が瞬時に感じられます。
- 予測エコー — Moshはサーバーの応答を予測して即座に表示し、予測が誤っていた場合にのみ訂正します。
問題は、ほとんどのiOS SSHアプリがMoshを完全に省略しているか、ペイウォール(有料機能)の後ろに隠していることです。NeoServerはこれを標準で搭載し、ターミナルの他の機能と統合しています。
NeoServerのSSH + Moshによるエンドツーエンドの仕組み
NeoServerはSSHを安全なトランスポートとして扱い、その上の回復力のあるセッションレイヤーとしてMoshを扱います。
- 最初にSSH。 パスワード、秘密鍵、2FA、またはSSHエージェント転送を使用して認証します。NeoServerはSSH接続を確立した後、Moshにアップグレードします。
- ローミングするMosh。 Moshセッションが確立されると、自宅のWi-Fiからモバイル通信、モバイル通信からホットスポットへの切り替えでもシェルは切断されません。サーバー側のMoshプロセスは実行を続け、クライアントは単純に再接続(リアタッチ)するだけです。
- tmuxまたはzellijと組み合わせる。 NeoServerは、切断後の迅速なセッション回復のための
tmuxとzellijの深いサポートを備えています。Moshクライアント自体がiOSのバックグラウンド移行やバッテリー切れで強制終了されても、tmuxセッション内のプロセスはサーバー側で実行され続けます。再接続してアタッチし直せば、エディタ、ビルド、またはhtopがそのまま残っています。
認証にSSH、ローミングリンクにMosh、永続的なシェルにtmux/zellij という3層構造により、スマートフォンが本物のターミナルセッションを実行するための真に実用的な場所となります。
Claude Code、Codex、リモートAI開発のために構築
NeoServerは、iOSからリモートマシンでClaude CodeやOpenAI Codexを実行するために特別に最適化されています。
- 画像、動画、ファイルの直接貼り付けまたはアップロード。 スクリーンショットを撮って貼り付けるだけで、ファイルがサーバーに配置され、コンテキストとしてClaude Codeに渡すためのパスが提供されます。
- AI作業におけるセッション生存が重要。 20分かかる長時間のCodex実行は、スマートフォンがスリープしただけで通常のSSH接続では切断されるようなジョブの典型です。Moshとtmuxを組み合わせることで、ジョブはサーバー側で実行され続けます。いつでも好きな時に確認できます。
- シェル初期化スクリプトの自動実行。 接続時に自動的に実行されるため、接続した瞬間から環境が整っています。
ターミナル自体
接続スタックは機能の半分にすぎません。ターミナルは親指での操作とBluetoothキーボードのどちらにも最適に設計されています。
- 特殊キー対応の組み込みキーボード、コピーアンドペースト、クイックアクション
- コマンド補完ヒント。ダブルタップで
TABをトリガー - カスタムテーマとフォント(プログラミング合字(リガチャ)フォントを含む)
- 踏み台サーバーの背後にあるサーバーにアクセスするためのジャンプサーバー、フェイルオーバー、SOCKS5プロキシのサポート
単なるターミナル以上の機能
NeoServerには、他なら3つのアプリを必要とするツールがバンドルされています。
- SFTPファイル管理 — 画像、ログ、設定ファイルのシンタックスハイライトやプレビューを備え、ファイルの閲覧、アップロード、ダウンロード、名前変更、オンライン編集が可能です。
- リアルタイム監視 — 稼働時間、負荷、CPUモデルと温度、メモリ、GPU使用率とGPUタスク、ディスク容量、IOPS、I/O待機時間、ネットワーク速度。主要なメトリクスはiOSウィジェットにも表示されます。
- プロセス管理 — 列で並べ替え可能な完全なプロセスリスト。シグナルの送信とプロセスの終了が可能です。
- DockerおよびPodman — コンテナの開始、停止、再起動、一時停止、削除、ログの読み取り、出力の検査、イメージの管理が可能です。
- バッチスクリプト — 1台のサーバーまたはグループ全体でスクリプトを実行し、実行履歴を確認可能です。ローリングデプロイやフリート(サーバー群)の点検に最適です。
- Wake-on-LAN — スリープ状態のNASやホームサーバーをワンタップで起動できます。
- AIアシスタント — OpenAI、Claude、またはGemini(または互換性のあるエンドポイント)に接続すると、常駐の運用アシスタントのようにメトリクスの読み取り、コマンドの実行、ファイルの管理が可能です(エージェントのインストールは不要です)。
プライバシー
すべてのデータはお客様のデバイスとプライベートiCloudに保存されます。NeoServerは構成したサーバーとのみ通信し、サードパーティの分析や広告ネットワークは一切ありません。アプリをFace IDまたはTouch IDでロックできます。
こんな方に最適
- ホームサーバーやNASの所有者(Synology、QNAP、TrueNASなど)
- サイト管理者および運用エンジニア
- Claude CodeやCodexをリモートで実行する開発者
- GPUの使用状況を追跡するAI研究者
- 地下鉄でターミナルセッションを失ったことがあるすべての方
スマートフォンでのSSHタイムアウトがリモート作業の代償となっているなら、Moshを搭載したNeoServerがその解決策です。一度接続し、自由にローミングし、tmuxに作業を維持させましょう。App StoreでNeoServerを検索するか、App Storeからダウンロードしてください。