記事一覧に戻る
開発

VSCode SSH接続できない・使えなくなった時の解決方法【Windows/Mac対応】

2026年5月6日 約5分で読めます

VSCode Remote SSHが突然接続できなくなった場合の原因と解決策を解説します。主な原因はホスト鍵の不一致・OpenSSHのバージョン問題・VSCode Serverキャッシュ・SSH デーモン停止・ファイアウォールの5つです。それぞれの確認手順と対処法を順番に紹介します。

VSCode SSH接続が急に使えなくなる主な原因

VSCode の Remote - SSH 拡張機能を使っていると、昨日まで動いていたのに突然接続できなくなるケースがあります。焦って再インストールする前に、原因を絞り込むことが解決への近道です。

よく起きるトラブルは次の5つに分類できます。

  • ホスト鍵(known_hosts)の不一致
  • OpenSSH クライアントのバージョン問題(Windows)
  • Remote - SSH 拡張機能のバージョン不整合
  • サーバー側の SSH デーモン停止・設定変更
  • ファイアウォール・VPN・ネットワーク変更

原因1: ホスト鍵の不一致(WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!)

サーバーを再構築したり IP アドレスを変更したりすると、known_hosts に保存された古いホスト鍵と一致しなくなりエラーが出ます。

確認方法

ターミナルで SSH 接続を試み、WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! と表示されたらこれが原因です。

対処法

Windows の場合は C:\Users\ユーザー名\.ssh\known_hosts、Mac/Linux は ~/.ssh/known_hosts を開き、該当ホスト名または IP の行を削除します。

ssh-keygen -R ホスト名またはIPアドレス

このコマンドを実行すると自動で該当行が削除されます。その後 VSCode から再接続すると、新しいホスト鍵を確認する画面が出るので「Yes」を選択してください。

原因2: Windows の OpenSSH バージョン問題

Windows に同梱されている OpenSSH クライアントが古いバージョンの場合、VSCode の Remote - SSH が期待するオプションに対応していないことがあります。特に Windows 10 の古いビルドでよく発生します。

確認方法

PowerShell で以下を実行してバージョンを確認します。

ssh -V

OpenSSH_for_Windows_7.7 以前の場合はアップデートを検討してください。

対処法

「設定」→「アプリ」→「オプション機能」→「OpenSSH クライアント」をアンインストール後、最新版を再インストールします。または Git for Windows に同梱された OpenSSH を使うよう VSCode の設定を変更する方法もあります。

VSCode の settings.json に以下を追加します。

"remote.SSH.path": "C:\\Program Files\\Git\\usr\\bin\\ssh.exe"

原因3: Remote - SSH 拡張機能のバージョン不整合

VSCode 本体や Remote - SSH 拡張機能をアップデートした直後に接続できなくなることがあります。特に、サーバー側にインストールされた VSCode Server のバージョンが古いままになっているケースです。

対処法

SSH 接続後、サーバー上の VSCode Server のキャッシュを削除してから再接続します。

rm -rf ~/.vscode-server

この操作でサーバー側のキャッシュが削除され、次回接続時に最新の VSCode Server が自動インストールされます。インストールには数分かかることがあります。

原因4: サーバー側の SSH デーモン停止・設定変更

サーバーの再起動後に SSH デーモン(sshd)が起動していない、または設定ファイルが変更されてポートや認証方式が変わった場合に接続できなくなります。

確認方法

クラウドコンソールやシリアルコンソールからサーバーにログインし、SSH デーモンの状態を確認します。

sudo systemctl status sshd

対処法

停止している場合は sudo systemctl start sshd で起動します。設定変更が原因の場合は /etc/ssh/sshd_config を確認し、ポート番号・公開鍵認証の許可設定を修正後、sudo systemctl restart sshd で再起動します。

原因5: ファイアウォール・VPN・ネットワーク変更

オフィスのネットワークポリシー変更や VPN の更新後に、SSH ポート(デフォルト 22)への接続がブロックされるケースがあります。

確認方法

ターミナルから直接 SSH 接続を試します。

ssh -v ユーザー名@ホスト名

-v オプションで詳細なログが出力されます。connect to host xxx port 22: Connection timed out と表示される場合はネットワーク・ファイアウォールが原因です。

対処法

クラウドのセキュリティグループやファイアウォール設定で SSH ポートが開放されているか確認します。VPN 接続中の場合は VPN を一時的に切断して試してみてください。

それでも解決しない場合のチェックリスト

  • VSCode 本体を最新バージョンにアップデートする
  • Remote - SSH 拡張機能を一度アンインストールして再インストールする
  • VSCode のユーザーデータキャッシュをクリアする(HelpToggle Developer Tools → Console で localStorage.clear()
  • SSH Config ファイル(~/.ssh/config)の設定を確認する
  • 別のネットワーク(スマホのテザリング等)から接続を試み、ネットワーク起因かを切り分ける
SSH 接続トラブルは「サーバー側」「クライアント側(PC)」「ネットワーク側」の3つに切り分けるのがポイントです。まずターミナルから直接 SSH コマンドを叩いてみて、VSCode の問題かどうかを確認しましょう。ターミナルでも繋がらない場合はサーバーかネットワークが原因、ターミナルでは繋がる場合は VSCode 側の設定・拡張機能の問題です。

まとめ

VSCode Remote SSH が接続できなくなった場合の主な原因と対処法をまとめます。

  • known_hosts のホスト鍵不一致 → 該当行を削除して再接続
  • Windows の OpenSSH バージョンが古い → アップデートまたは Git の SSH を使用
  • サーバー側の VSCode Server キャッシュ → ~/.vscode-server を削除
  • SSH デーモン停止 → サーバーで systemctl start sshd
  • ネットワーク・ファイアウォール → セキュリティグループ・VPN を確認

上記を順番に確認することで、ほとんどのケースは解決できます。システム開発の現場ではリモートサーバーへの SSH 接続は日常的な作業のため、トラブル時の切り分け手順を覚えておくと対応時間を大幅に短縮できます。

よくある質問
VSCode Remote SSH で「WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!」と表示されて接続できません。
接続先サーバーのSSHホストキーが変わった場合に表示されます。ローカルの~/.ssh/known_hostsから該当ホストのエントリを削除してから再接続してください。コマンドは `ssh-keygen -R ホスト名` です。VPS再構築・IPアドレスの再割り当て後に起きやすいエラーです。
VSCode を更新したら SSH が接続できなくなりました。
VSCodeの更新後はリモート側の.vscode-serverが古いバージョンのまま残っていることが原因のことが多いです。リモートサーバー上の ~/.vscode-server ディレクトリを削除してから再接続すると解決する場合があります。また、コマンドパレット(F1)から「Remote-SSH: Kill VS Code Server on Host...」を選択して強制終了後、再接続する方法も有効です。
ターミナルから SSH は繋がるのに VSCode からだけ接続できません。
VSCodeのRemote-SSH拡張機能が使用するSSH設定ファイル(~/.ssh/config)や鍵ファイルのパーミッションを確認してください。configファイルのパーミッションは600(所有者のみ読み書き可)が必要です。また、VSCode設定の「Remote.SSH: Path」が正しいSSH実行ファイルを指しているか確認してください。
Windows で SSH 接続しようとすると「Bad configuration option」エラーが出ます。
WindowsのSSHクライアント(OpenSSH for Windows)が~/.ssh/configの特定オプション(例: UseKeychain)をサポートしていないために発生します。macOSやLinux用のオプションをWindows環境のconfigファイルから削除するか、Windowsでは使用しないホストブロックに移動することで解決できます。
接続タイムアウトになる場合はどうすれば良いですか?
SSH設定ファイル(~/.ssh/config)に `ServerAliveInterval 30` と `ServerAliveCountMax 3` を追加すると、定期的にKeepAliveパケットを送信してタイムアウトを防げます。また、ファイアウォールやセキュリティグループでSSHポート(22番)が開放されているかも確認してください。
VSCode Remote SSH で「Could not establish connection to」エラーが出ます。
まず通常のSSHコマンド(`ssh ユーザー名@ホスト名`)でターミナルから接続できるか確認してください。接続できる場合はVSCode側の問題です。Remote-SSH拡張機能のログ(出力パネルの「Remote - SSH」を選択)を確認し、具体的なエラーメッセージを調べてください。また、VSCode設定の `remote.SSH.showLoginTerminal` を true にすると詳細なログが表示されて原因特定しやすくなります。
プロキシ環境下でVSCode Remote SSH を使うにはどうすれば良いですか?
プロキシ環境では~/.ssh/configに `ProxyCommand` を設定する方法が一般的です。例えば `ProxyCommand nc -X connect -x プロキシホスト:ポート %h %p` のように記述します。企業ネットワーク内でJumpServer(踏み台サーバー)を経由する場合は `ProxyJump 踏み台サーバーのホスト名` を設定してください。
VSCode Remote SSH で Python / Node.js の拡張機能が動かない場合はどうすれば?
Remote SSH接続時は拡張機能がリモート側にインストールされる必要があります。拡張機能の管理画面(Ctrl+Shift+X)で該当拡張機能のページを開き、「Install in SSH: ホスト名」ボタンをクリックしてリモート側にインストールしてください。ローカルにインストールされていてもリモート環境には自動では適用されないため、手動インストールが必要です。

この記事をシェア

開発環境・インフラのご相談はFUNBREWへ

SSH接続やサーバー設定でお困りの際は、FUNBREWの開発チームにご相談ください。システム保守・運用のご支援も承っております。

最新情報をお届けします

IT活用のヒントやお役立ち情報を定期的にお届けします。

あわせて読みたい

「システム保守・運用」に関連する記事です。

まとめ記事

システム保守の費用相場と選び方|"守り"だけで終わらない攻めの保守運用ガイド【2026年版】

システム保守の委託先を変える時の引き継ぎ手順|発注者が準備すべき書類と円滑な移行の進め方

2026年6月14日

システム保守の緊急対応費用|突発作業の費用体系と予算確保のコツ

2026年6月12日

ベンダーロックインを防ぐシステム保守契約の見直し方|発注者が契約前に確認すべき6つのポイント

2026年6月11日

システム保守に必要なドキュメント一覧と整備方法|発注者が揃えておくべき資料と管理のコツ

2026年6月9日

社内にIT担当者がいない場合のシステム保守|中小企業が取るべき3つの対策と外注活用ガイド

2026年5月31日

システム保守契約の更新・見直しガイド|更新タイミング・比較チェックリスト・乗り換え手順

2026年5月27日

システム保守の定期点検チェックリスト|月次・四半期・年次で確認すべき15項目

2026年5月26日

システム保守の月次報告書の読み方と確認ポイント|発注者が見るべき5つの数字

2026年5月22日

システム障害が起きたら発注者はどう動く?保守委託先へのエスカレーション手順と確認ポイント

2026年5月20日

保守委託後の品質確認方法|「本当に保守されているか」を発注者が確かめる5つのポイント

2026年5月18日

システム保守費用を下げる交渉術|見積もりの高い理由と発注者が使える5つの値下げ交渉法

2026年5月9日

24/365監視は本当に必要?費用感と業務影響度で判断する保守体制の選び方

2026年4月25日

クラウド移行で保守費用はどう変わる?AWS・GCP・Azureとオンプレ保守の費用構造比較

2026年4月25日

サーバー保守の料金相場と費用内訳|月額・年額・作業別に徹底解説【2026年版】

2026年4月16日

システム保守費用の計算方法|IPA基準15〜20%の根拠と業種別相場一覧

2026年4月14日

システム保守のコスト削減方法5選|品質を落とさず費用を最適化するコツ

2026年4月10日

システム保守の契約形態を比較|月額固定・従量制・ハイブリッドの違いと選び方

2026年4月10日

月額10万円からの保守サービスで何ができるか?FUNBREWのプラン解説

2026年4月9日

Laravel・WordPressの保守で気をつけるべきバージョン管理|EOL対応とアップデート戦略

2026年4月9日

システム保守と運用の違いとは?中小企業が知るべき基礎知識と外注のコツ

2026年4月9日

セキュリティアップデートを放置するとどうなる?実際の被害事例と今すぐできる対策

2026年4月9日

保守契約の落とし穴|「何もしてくれない」を防ぐ7つのチェックリスト

2026年4月9日

保守費用を開発投資に変える|「充填型保守」の仕組みと実例で見る投資対効果【2026年版】

2026年4月9日
まとめ記事

システム保守の費用相場と選び方|"守り"だけで終わらない攻めの保守運用ガイド【2026年版】

2026年3月1日

関連記事

開発
2026年6月14日

システム保守の委託先を変える時の引き継ぎ手順|発注者が準備すべき書類と円滑な移行の進め方

システム保守の委託先を変更する際に発注者が準備すべき書類と手順を解説。旧ベンダーからの情報引き出し方・引き継ぎ期間の目安・新ベンダーへの移行チェックリスト付き。

開発
2026年6月12日

システム保守の緊急対応費用|突発作業の費用体系と予算確保のコツ

システム障害やセキュリティインシデントが発生したとき、「緊急対応」はどのように費用請求されるのか。月額保守契約に含まれる範囲・別途請求になるケース・緊急対応費の相場・予算確保の方法を発注者向けに解説します。

開発
2026年6月11日

ベンダーロックインを防ぐシステム保守契約の見直し方|発注者が契約前に確認すべき6つのポイント

ベンダーロックインは保守契約を結んだ瞬間から始まります。ソースコードの権利・データポータビリティ・移行支援条項など、発注者が契約前に確認すべき6つのポイントを具体的な交渉例とともに解説します。

開発
2026年6月9日

システム保守に必要なドキュメント一覧と整備方法|発注者が揃えておくべき資料と管理のコツ

システム保守で困らないために発注者側が揃えるべきドキュメントを解説。仕様書・設計書・運用手順書など11種類の資料と整備の優先順位、管理ルールの作り方がわかります。

相談のハードル、下げました

まずは気軽にご相談ください

「まだ具体的に決まっていない」「とりあえず話を聞きたい」でも大丈夫。プロトタイプを見ながら、一緒にアイデアを形にしていきましょう。

相談無料 オンライン対応 1週間でプロトタイプ