LoginSignup
8
9

More than 3 years have passed since last update.

【Tips】VSCode のRemote-SSH が遅い!と思ったら(VMWare Player使用下)

Posted at

Visual Studio Code Remote Development はコンテナやリモートマシン、WSL環境の開発をサポートしてくれる強力な拡張機能です。

しかし私の環境では「めちゃめちゃ動作が遅い」と思いながら使っていたところ偶然解消できたため、似たような事象に遭遇してる方向けTipsとして投稿。

結論としてはネットワーク周りが原因である可能性が非常に高いです。
※詳細な動作原理はよくわかっていない状況ですので参考までに。

事象

Remote SSH 接続した状態であらゆるアクションに対して数秒~数十秒の遅延またはタイムアウトするという事象

例:

  • "フォルダーを開く" 押下後のディレクトリスキャン
  • 接続開始時のターミナル起動
  • ターミナル、エディタ画面に文字入力してからのレスポンス
  • 編集中ファイルの保存

環境

確認したのはRemote SSHを使う場合のみ。

  • ホストOS: Windows 10 (192.168.0.1)
  • 仮想環境: VMWare Player
  • リモートサーバ: CentOS 8 (192.168.0.2)
    • ネットワーク: ブリッジアダプタ
Client ---(SSH)--> Remote Server(192.168.0.2)

対応策

2種類の対応によって動作が改善しました。
※私の環境ではどちらか一方の対応でOKでした

1. ネットワークアダプタのインターネット共有許可

コントロールパネルから[ネットワーク接続]プロパティを開く

image.png

プロパティを開き[共有]タブ>[ネットワークのほかのユーザーに、このコンピューターのインターネット接続を通しての接続を許可する]にチェックを入れて、VMWare Network Adapter VMNet8を選択してOK

image.png

使用しているネットワークアダプタに[共有]という印がついていることを確認

image.png

※ブリッジアダプタはホストの物理NICを使用するはずなんですが、なぜVMNet8 アダプタの設定をいじることで改善するのか謎...

2. ホストPCのポートフォワード経由で接続

リモートサーバのIPアドレスを直接指定してアクセスするのではなく、一度ホストOSでポートフォワードしてからリモートサーバへ接続する

つまり
↓こうだったのを

Client ---(SSH)--> Remote Server(192.168.0.2)

↓こうする(あまり正確な図ではないが)

Client ---(SSH)---> Host PC(127.0.0.1:22) ---(Forward)--> Remote Server(192.168.0.2)

コマンドプロンプトを開き、以下コマンドを実行

netsh interface portproxy add v4tov4 listenport=22 listenaddr=127.0.0.1 connectport=22 connectaddress=192.168.0.2
8
9
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
9