Windows11のRemote-SSH接続を安定化する3つの設定【Cursor・Windsurf・VS Code共通】
記事をなぜ作ったか
Windows 11ユーザー向けにRemote-SSH接続の頻繁な切断問題を解決した記録。
開発環境では、リモートサーバー上で快適に作業したい。でもWindows 11でのRemote-SSH接続は頻繁に切断される問題がある。
「また接続が切れた...」
この課題から、3つの設定の組み合わせに行き着いた。Windows特有のバグを回避し、接続を安定化できる。
以下、実際の構築手順をまとめた備忘録。
要約
- Windows特有の接続問題を3つの設定で回避
- Cursor・Windsurf・VS Code共通で使える
- 設定はJSON形式で
settings.jsonに追加
前提: Windows 11 + Cursor/Windsurf/VS Code、Remote-SSH接続先サーバーあり
1. 事前チェック
まず環境を確認。ここで不足がなければスムーズにすすむ。
| 項目 | 確認ポイント |
|---|---|
| OS | Windows 11 |
| IDE | Cursor、Windsurf、VS Code のいずれか |
| SSH接続先 | リモートサーバーへの接続情報 |
| SSH設定 |
~/.ssh/config にHost設定済み(推奨) |
Remote-SSHとは?
Remote-SSHは、ローカルのエディタからリモートサーバー上のファイルを直接編集できる機能。サーバー上で開発しながら、手元のIDEの快適さを維持できる。
メリット:
- ローカルと同じ快適な操作感
- サーバーの高性能リソースを活用
- チーム開発での環境統一
仕組み: IDEがSSH経由でサーバーに接続し、ファイル編集・実行を代行。
2. 3つの設定を追加
以下の設定を各IDEの settings.json に追加。
2-1. settings.json の場所
各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
2-2. 設定内容
{
// 1. 接続方式をターミナルモードに変更(Windows安定化の鍵)
"remote.SSH.useLocalServer": false,
// 2. ログイン画面をターミナルで表示(トラブル原因が見える)
"remote.SSH.showLoginTerminal": true,
// 3. 接続先OSを事前指定(毎回の確認ダイアログを排除)
"remote.SSH.remotePlatform": {
"your-server": "linux" // ← 実際のサーバー名に置き換える
}
}
2-3. 設定ファイルの編集方法
GUI経由での編集(推奨):
- 各IDEで
Ctrl+,を押して設定画面を開く - 右上の⚙️アイコン「設定(JSON)を開く」をクリック
- 既存の設定の末尾(最後の
}の前)に新しい設定を追加 - カンマで区切る
- 保存後、IDEを完全に再起動
2-4. 複数サーバーがある場合
"remote.SSH.remotePlatform": {
"web-server": "linux",
"db-server": "linux",
"windows-server": "windows"
}
3. なぜこの設定で問題が解決するのか
3-1. useLocalServer: false でWindows問題を回避
Windowsでは内部プロセス共有モード(Local Server Mode)で接続が不安定になるバグがある。
ターミナルモードに切り替えることで、従来のSSHコマンドライン方式を使用し、安定した接続を確保。
3-2. showLoginTerminal: true でトラブル原因を可視化
接続失敗時のエラーメッセージがターミナルに表示されるため、原因の特定が容易。
特にパスワード認証・二要素認証・パスフレーズ入力が必要な環境で有効。
3-3. remotePlatform で確認ダイアログを排除
接続先OS(linux/windows/macOS)を事前指定することで、毎回のOS選択ダイアログを省略。
4. IDE別の注意点
Cursor
- 独自の Anysphere Remote-SSH 拡張機能を使用
- Microsoft製Remote-SSH拡張機能は使用不可
- 拡張機能ID:
@id:anysphere.remote-sshで検索・インストール
Windsurf
- 独自SSH実装が組み込み済み
- AI機能「Cascade」がリモート環境でも動作
- 制限事項: Linux x64アーキテクチャのリモートホストのみサポート
- Dev Container対応済み
- WSL対応(ベータ版)
Windsurf既知の問題
- Cascade接続時に「Toggle Open Cascade」ボタンを複数回クリックが必要な場合あり
- Windowsでパスワード入力時にcmd.exeウィンドウが表示される(将来改善予定)
VS Code
- Microsoft純正 Remote-SSH 拡張機能を使用
- 最も標準的で安定したリモート開発環境
- 継続的なアップデートとバグ修正
5. トラブルシュート早見表
問題が起きたら、まずここをチェック。
| 症状 | 最初に確認すること | 対応方法 |
|---|---|---|
| 接続が頻繁に切れる |
useLocalServer の値 |
false に設定 |
| エラー画面が出ない |
showLoginTerminal の値 |
true に設定 |
| 毎回OS選択を求められる |
remotePlatform の設定 |
サーバー名とOSを追加 |
| 設定したのに効かない | IDEの再起動 | 完全に再起動すること |
| 拡張機能が見つからない(Cursor) | マーケットプレイス | 手動インストールまたは再起動 |
| JSON記法エラー | カンマ・カッコの確認 | 最後の項目の後にカンマは不要 |
6. 次のステップ
基本的な接続が安定したら、応用も可能:
- SSH鍵認証の設定: パスワード入力を省略
- ポートフォワーディング: リモートサーバーのWebアプリをローカルで確認
- Dev Containers: Docker環境での開発(Windsurf v1.11.0以降、VS Code、Cursor対応)
導入してみて
3つの設定の組み合わせで、Windows 11でのRemote-SSH接続問題を解決できた。
実際に導入してみて、[頻繁な切断から解放された]。[ストレスなく作業できるようになった]。
[シンプルな設定で大きな改善が得られること]だと思う。[この設定により、快適なリモート開発環境が実現できた]。
接続問題が続く場合、VS Code Serverのキャッシュクリア(Command Palette: "Remote-SSH: Kill VS Code Server on Host")を試す。この記事のトラブルシュート早見表は公式ドキュメントを併用してください。この記録が、同じような課題を抱えている人の参考になれば幸い。
参考リンク
- VS Code Remote Development Troubleshooting
- VS Code Remote Development using SSH
- Windsurf Advanced Documentation
- Windsurf Changelog
- Cursor Community Forum
Discussion