
VS Codeをアップデートした直後、急にSSH(Remote – SSH)でサーバーに繋がらなくなって焦った経験はありませんか?
「さっきまで普通に使えていたのに、なぜか接続が切れて再接続できない…」
画面右下には 「”ホスト名” への接続を確立できません」 という無情なアラート。
出力ログ(Remote – SSH)を確認してみると、こんなエラーが吐かれていることがあります。
Failed to read SSH configuration file '/': Error: EISDIR: illegal operation on a directory, read一見するとサーバー側の障害やネットワークトラブルを疑ってしまいますが、原因はVS Code本体の「設定ファイルの参照パス誤り」にあります。
この記事では、この EISDIR エラーが発生する原因と、5分で確実に復旧するための3つのステップ をわかりやすく解説します!
なぜ起きる? EISDIR エラーの正体
EISDIR とは Node.js のエラー用語で 「Error: Is a Directory(指定されたパスがファイルではなくディレクトリです)」 を意味します。
つまり、VS Code が SSH の接続設定ファイル(config)を読み込もうとした際、「設定ファイルを探したら、ファイルではなく /(ルートディレクトリ)が指定されていた」 ために処理が停止してしまっているのが原因です。
VS Code の本体アップデートや設定同期(Settings Sync)の不具合により、Remote.SSH: Config File の項目に誤って / が入ってしまうことでこの現象が発生します。
【完全復旧】3ステップで解決する手順
復旧作業は非常に簡単です。以下の3ステップを順番にお試しください。
STEP 1: VS Code の configFile 設定を空欄にする
一番の根本原因である「設定ファイルの誤指定」を修正します。
- VS Code で
Ctrl + ,(MacはCmd + ,)を押して 設定(Settings) を開く。 - 上部の検索窓に
remote.SSH.configFileと入力。 Remote.SSH: Config Fileの入力欄に入っている/を削除して空欄 にする。
💡 補足:
ここを空欄にしておくと、VS Code はデフォルトの SSH 設定ファイル(Windows: C:\Users\<User_name>\.ssh\config / Mac・Linux: ~/.ssh/config)を自動的に参照してくれるようになります。
STEP 2: サーバー側のキャッシュを初期化する
設定を直しても接続がうまくいかない場合、サーバー側に残っている古い vscode-server のプロセスやキャッシュが干渉している可能性があります。
Tera Term、macOS標準ターミナル、または既存の別SSHクライアントからサーバーにログインし、以下のコマンドでキャッシュを更地にします。
# サーバー側の管理用隠しフォルダを削除
rm -rf ~/.vscode-server
# 残存プロセスを確実にキル
pkill -f vscode-server# Remove the hidden VS Code management directory on the server
rm -rf ~/.vscode-server
# Forcefully terminate any remaining VS Code server processes
pkill -f vscode-serverSTEP 3: VS Code を再起動して再接続する
最後に、ローカル環境のクリーンアップを行って接続を試みます。
- PC側で開いている VS Code を完全に終了(ウィンドウをすべて閉じる)して再起動。
- 画面左下の
><(Remoteステータスバー)をクリックし、「ホストに接続する (Connect to Host…)」 を選択。 - 目的のサーバーを指定して接続。
無事にサーバーへ入れたら、ファイル ➔ フォルダーを開く から作業したいディレクトリ(/ や /var/www/html など)を指定すれば復旧完了です!
まとめ
VS Code のアプデ直後に EISDIR: illegal operation on a directory が出た場合のチェックポイントまとめです。
- 原因: 設定
remote.SSH.configFileに/が紛れ込み、設定ファイルとしてフォルダを読み込もうとしている。 - 対処1: VS Code 設定で
remote.SSH.configFileを空欄にする。 - 対処2: サーバー側で
rm -rf ~/.vscode-serverを実行してキャッシュをクリア。
「サーバーが落ちたのかも!?」と焦りがちなエラーですが、原因はローカル側のパス指定ミスであることがほとんどです。同じ症状で困った時はぜひ試してみてください!



コメント