カフェのWi-Fiを切り替えたら、VS Codeの接続が止まり、iPadでは同じ手順を再現できない。
最短解は、WindowsまたはLinuxの軽量ノートならVS Code Remote SSHを主要なコード入口にし、iPadだけで完結させるならブラウザー入口または遠隔デスクトップを選ぶことです。コード編集、ターミナル、ビルドはリモートMacに寄せられますが、Xcode、シミュレーター、署名確認などの画面作業まで置き換えることはできません。
この記事は、MacBookを持ち歩かずmacOSの開発環境を使いたい人向けです。VS Code中心で開発する個人開発者、iOSアプリの納品工程だけMacソフトに依存する人、iPadを非常用端末にしたいデジタルノマドが対象です。
入口端末の適合度
軽量ノートとiPadの役割
VS Code Remote SSHは、手元のVS CodeからSSH接続先へ入り、接続先でVS Code Serverと一部の拡張機能を動かす仕組みです。macOS側でRemote Loginを有効にしたホストを接続先にできることは、VS Code公式のRemote SSH説明とAppleのRemote Login手順で確認できます。
一方、iPadのブラウザーで使うVS Code for the Webは、デスクトップ版のRemote SSHと同じ機能ではありません。ブラウザー版の制約はVS Code for the Webの公式説明で確認し、iPadでは遠隔デスクトップを併用するか、緊急時の軽い編集に用途を絞ります。
| 端末 | コード編集 | リモートターミナル | 拡張機能・ビルド | 判断 |
|---|---|---|---|---|
| Windows軽量ノート | 適する | 適する | リモート側で確認 | 主要入口にできる |
| Linux軽量ノート | 適する | 適する | 拡張機能の対応を確認 | 主要入口にできる |
| iPadのブラウザー | 条件付き | デスクトップ版と同一ではない | 制約を確認 | 非常用入口向け |
| iPad+遠隔デスクトップ | 可能 | Mac画面から操作 | Xcodeも扱える | 二つ目の入口に適する |
- リモートプロジェクトを開く。
- VS Code内のターミナルで依存関係またはビルドを実行する。
- ファイルを一箇所変更し、保存からビルドまで完了させる。
接続方式の比較
| 方式 | 得意な作業 | 苦手な作業 | 出張時の採用条件 |
|---|---|---|---|
| VS Code Remote SSH | 編集、検索、ターミナル、CLIビルド | GUI中心の操作 | 軽量ノートを持つ |
| 通常のSSHクライアント | コマンド実行、ログ確認 | 快適な編集、画面作業 | 障害対応や緊急修正 |
| ブラウザー版エディター | 軽い編集、環境確認 | デスクトップ版と同じ接続運用 | iPadを補助端末にする |
| SSH+遠隔デスクトップ | CLIとMac画面の両方 | 通信品質への依存 | Xcodeを使う必要がある |
権限とホストの完全性
macOS側で確認する項目
Mac側では、システム設定のRemote LoginでSSH入口を管理し、許可するアカウントを必要な範囲に限定します。Appleの説明では、Remote LoginはSSHだけでなくSFTPによるアクセスにも関係するため、単に「ポートが開いている」と考えず、アカウント範囲まで確認してください。
| 確認指標 | 合格の証拠 | 不合格時の結果 |
|---|---|---|
| アカウント | 対象ユーザーだけが許可されている | 意図しない利用者が入れる |
| ホームディレクトリ | プロジェクトとSSH設定を読める | 接続後に作業場所を見失う |
| シェル環境 | VS Codeと通常のSSHで同じPATHを確認できる | ローカルでは動くコマンドが失敗する |
| ディスク権限 | ソース、依存関係、生成物を扱える | ビルドや保存が途中で止まる |
| 再起動後の状態 | Remote Loginと必要なサービスを再確認できる | 旅行中の再接続で復旧できない |
鍵認証と撤回手順
旅行中は共用パスワードを長期間使うより、端末ごとにSSH鍵を作り、許可するアカウントを限定する方が管理しやすくなります。鍵を作るコマンドの詳細を増やすより、重要なのは「どの端末の鍵を、いつ撤回するか」を決めることです。
| 事象 | 直ちに行うこと | 復旧後の確認 |
|---|---|---|
| ノートを紛失 | 該当する公開鍵をMac側の許可リストから削除 | 新しい端末の鍵で再接続 |
| 共用PCを一時利用 | 秘密鍵を保存せず、作業後にセッションを終了 | 鍵や認証情報が残っていないか確認 |
| 秘密鍵が漏れた疑い | 対応する公開鍵を撤回し、新しい鍵を発行 | 監査ログと許可アカウントを確認 |
| 退職・案件終了 | 対象アカウントまたは鍵を無効化 | 既存セッションと自動処理を確認 |
開発タスク別の接続評価
拡張機能の実行場所
Remote SSHでは、拡張機能が手元の端末で動く場合と、リモートMac側で動く場合があります。ネイティブ依存、CPUアーキテクチャ、PATH、プロキシ設定が異なるため、インストール済みという表示だけで互換性を判断しないでください。詳細な構成と制限はRemote Development FAQを基準にします。
| 作業 | 観察する証拠 | 判定 |
|---|---|---|
| 編集 | 保存後にリモート側のファイルが変わる | 合格 |
| ターミナル | pwdや開発コマンドがMac側で実行される | 合格 |
| デバッグ | ブレークポイント、ログ、依存関係が成立する | 条件付き |
| 依存関係の導入 | Mac側のランタイムと権限で完了する | 合格 |
| 拡張機能 | 実行場所とエラー表示を確認できる | 個別判定 |
弱い通信と再接続
カフェからホテルへ移動する日は、通常の接続だけでなく、Wi-Fiの切り替え、ノートのスリープ、再接続後のワークスペース状態を確認します。切断後もリモートMac上のプロセスが継続するかは、利用するターミナル、プロセス、接続方式に左右されるため、重要なビルドを無監視で放置する前に自分の構成で確認してください。
VS Code公式のトラブルシューティングには、接続ログの確認やサーバー側状態のリセットに関する案内があります。まずログで認証、サーバー起動、拡張機能のどこで止まったかを分離し、いきなりホスト全体を初期化しないことが安全です。
iPadの位置づけ
iPad単体でVS Code Remote SSHをデスクトップ版と同じように扱う前提は置けません。iPadを採用するなら、ブラウザーで軽い修正を行う入口と、遠隔デスクトップでMacの画面を操作する入口を分けます。SSHクライアントだけで済むのは、ログ確認や小規模な修正に限ると考える方が現実的です。
XcodeとGUI作業の境界
iOS開発でXcodeは必要か
iOSプロジェクトを遠隔開発する場合、コード編集や一部のコマンドライン処理はVS CodeとSSHで進められます。しかし、シミュレーターや実機への実行、署名、証明書、GUI設定など、最終成果物の確認にXcodeが必要な工程は残ります。AppleのXcodeコマンドラインツール資料と、シミュレーター・実機での実行手順をプロジェクトの納品条件と照合してください。
結果は次の三択です。
- 純粋なSSH:CLIビルド、テスト、サーバー処理だけで納品できる場合です。
- SSH+遠隔デスクトップ:普段はVS Codeで編集し、Xcodeやシミュレーターだけ画面操作する場合です。
- 手元のMacを残す:実機確認、物理インターフェース、長時間のGUI作業が頻繁な場合です。
一日の復工作業
導入時は、次の順番を時間軸ではなく指標ごとの受け入れ試験として実施します。
- 軽量ノートから鍵認証で接続し、許可ユーザーと接続先を確認します。
- プロジェクトを開き、ターミナルの作業ディレクトリとMac側のパスを照合します。
- 小さなコード変更、依存関係の確認、ビルドを行い、生成物を検証します。
- カフェのWi-Fiから別の回線へ切り替え、接続ログ、ウィンドウ、ワークスペースを確認します。
- ビルドやテストを停止・継続させた場合の結果を記録し、切断後の状態を確認します。
- Macを再起動し、Remote Login、VS Code Server、鍵認証、プロジェクトを再確認します。
- 最後にXcodeが必要な納品工程を実行し、純SSHで足りるか、遠隔デスクトップが必要かを決めます。
最終判断と運用方法
手元のMacを持たずに開発したい場合、軽量ノートと常時利用できるMac環境の組み合わせは、コード入口を小さく保ちながらmacOS側の依存関係を維持できます。自前のMacを自宅に置く方法は機器管理、停電、回線、再起動対応を自分で背負い、ホテルやカフェからの復旧確認も必要です。iPadだけの運用は入力、ブラウザー版の制限、Xcode操作の不足が問題になりやすく、単独の長期開発環境には向きません。
そのため、軽量ノートでVS Codeを使い、必要時だけ遠隔デスクトップへ切り替える二入口構成が、Xcodeを含む案件では妥当です。継続利用するMac環境を自分で保守したくない場合は、MACGPUのMac環境を候補に含めてください。利用するMacの構成や申込み条件を比較したい場合は、MACGPUのMacレンタル案内も確認し、正式プロジェクトを移す前に接続、ビルド、回線切り替え、再起動まで検証してください。
料金や利用期間は作業量に合わせて確認し、短期案件なら週単位、継続案件なら月単位など、実際の検証期間を先に確保する判断が安全です。
VS Code Remote SSHだけで完結する案件なら、リモートMacを主要な実行環境にできます。Xcodeの画面操作が頻繁なら、SSHだけに寄せず遠隔デスクトップを第二入口として残すことが、旅先で納品を止めない現実的な構成です。