🔧

Windows11でのRemote-SSH接続が不安定なイライラにさようなら。Cursor・Windsurf・VS Code共通の設定で解決

に公開

「また接続が切れた...」

Windows11でのRemote-SSH開発、そのイライラにさようなら。Cursor・Windsurf・VS Code共通で使える3つの設定で、接続問題を根本から解決します。

環境・前提条件

  • Windows 11 + Cursor / Windsurf / VS Code
  • Remote-SSH 機能を使用(各IDEの対応する機能)
  • SSH接続先サーバーへの接続情報
Remote-SSHとは?

Remote-SSHは、ローカルのエディタからリモートサーバー上のファイルを直接編集できる機能です。サーバー上で開発しながら、手元のIDEの快適さを維持できます。

メリット:

  • ローカルと同じ快適な操作感
  • サーバーの高性能リソースを活用
  • チーム開発での環境統一

仕組み: IDEがSSH経由でサーバーに接続し、ファイル編集・実行を代行します。

イライラを解決する3つの設定

以下の設定を各IDEの settings.json に追加することで、Windows特有の接続問題から解放されます。

{
  // 1. 接続方式をターミナルモードに変更(Windows安定化の鍵)
  "remote.SSH.useLocalServer": false,
  
  // 2. ログイン画面をターミナルで表示(トラブル原因が見える)
  "remote.SSH.showLoginTerminal": true,
  
  // 3. 接続先OSを事前指定(毎回の確認ダイアログを排除)
  "remote.SSH.remotePlatform": {
    "your-server": "linux"  // ← 実際のサーバー名に置き換える
  }
}

settings.json の場所(Windows)

各IDEで設定ファイルの場所が異なります:

  • VS Code: C:\Users\<ユーザー名>\AppData\Roaming\Code\User\settings.json
  • Cursor: C:\Users\<ユーザー名>\AppData\Roaming\Cursor\User\settings.json
  • Windsurf: C:\Users\<ユーザー名>\AppData\Roaming\Windsurf\User\settings.json
📝 settings.jsonファイルの編集方法

GUI経由での編集(推奨):

  1. 各IDEで Ctrl+, を押して設定画面を開く
  2. 右上の⚙️アイコン「設定(JSON)を開く」をクリック
  3. 既存の設定の末尾(最後の}の前)に新しい設定を追加
  4. カンマで区切ることを忘れずに
  5. 保存後、IDEを完全に再起動

ファイルが存在しない場合: 初回は空の{}から始まり、設定を追加すると自動作成されます。

重要: 必ずJSON形式を守ること(カンマ・カッコ・クォート)

なぜこの設定でイライラが解消されるのか?

useLocalServer: false でWindows問題を回避

Windowsでは内部プロセス共有モードで接続が不安定になるバグがあります。ターミナルモードに切り替えることで、安定した接続を確保できます。

showLoginTerminal: true でトラブル原因を可視化

接続失敗時のエラーメッセージがターミナルに表示されるため、なぜ切れたのかがすぐ分かります。もう「原因不明の接続エラー」でイライラすることはありません。

remotePlatform で確認ダイアログを排除

接続先OS(linux/windows)を事前指定することで、毎回のOS選択ダイアログを省略。複数サーバーがある場合は:

"remote.SSH.remotePlatform": {
  "your-web-server": "linux",     // ← 実際のサーバー名に置き換える
  "your-db-server": "linux",      // ← 実際のサーバー名に置き換える
  "your-windows-server": "windows" // ← 実際のサーバー名に置き換える
}

注意: your-web-server などは例です。実際のSSH設定ファイル(Windows: C:\Users\<ユーザー名>\.ssh\config)のHost名に置き換えてください。

IDE別の特徴と注意点

Cursor での Remote-SSH

  • 独自の Anysphere Remote-SSH 拡張機能を使用
  • 重要: Microsoft製Remote-SSH拡張機能は完全に使用不可
  • 改良された再接続ロジック: 従来の頻繁な切断問題を解決
  • 拡張機能ID: @id:anysphere.remote-ssh で検索・インストール
  • 企業環境: HTTP_PROXY・HTTPS_PROXY完全対応

Windsurf(Windsurf - Next)での Remote-SSH

  • 独自SSH実装が組み込み済み(Microsoft製ライセンス回避)
  • **AI機能「Cascade」**がリモート環境でも動作
  • 制限事項: Linux x64アーキテクチャのリモートホストのみサポート
  • 未対応: SSH + Development Container機能(将来対応予定)
  • 既知の問題: Cascade接続時に「Toggle Open Cascade」ボタンを複数回クリックが必要な場合あり

VS Code での Remote-SSH

  • Microsoft純正 Remote-SSH 拡張機能を使用
  • 最も標準的で安定したリモート開発環境

よくあるトラブルと解決法

症状 原因 解決方法
接続が頻繁に切れる ローカルサーバーモード useLocalServer: false に設定
エラー画面が出ない GUI表示の問題 showLoginTerminal: true に設定
毎回OS選択を求められる プラットフォーム未設定 remotePlatform を設定
設定したのに効かない GUI設定とJSONの競合 settings.json を直接編集

設定が反映されない場合のチェックリスト

  1. 各IDE を完全に再起動してください
  2. GUI設定画面は使わず、必ず settings.json を直接編集
  3. JSON記法エラーがないか確認(カンマ忘れ・カッコ閉じ忘れなど)
  4. ファイルパスが正しいか確認(IDEごとに異なります)

さようなら、接続トラブルによるイライラ

この3つの設定により、「また切れた...」というストレスから解放されます。Windows + Remote-SSH の組み合わせが、快適で生産的な開発環境に変わります。

設定後も問題が続く場合は、SSH接続自体の設定(鍵認証・ネットワーク環境など)を確認してみてください。

今すぐ設定して、快適なリモート開発を始めましょう!

用語の説明

ローカルサーバーモード(useLocalServer: true):

  • IDE内部でSSH接続を管理する方式
  • Windows環境では不安定になりやすい

ターミナルモード(useLocalServer: false):

  • 従来のSSHコマンドライン方式
  • より安定した接続を提供

remotePlatform:

  • 接続先OSの種類を指定(linux/windows/macOS)
  • 自動判定の失敗を防ぐ

showLoginTerminal:

  • SSH接続時のログを表示
  • エラー原因の特定に有効

📝 執筆・校正について

この記事は筆者が自身の経験をもとに執筆し、Gemini Pro 2.5を使用して校正・文章改善を行いました。技術的な内容はすべて筆者の実体験に基づいており、AIは文章の読みやすさと構成の改善にのみ使用しています。

Discussion