ぱと隊長日誌

ブログ運用もエンジニアとしての生き方も模索中

VS Code Remote - SSH extension で Linux のリモートマシンに接続すると VS Code Server が自動でインストールされる

Visual Studio Code(以下、VS Code)Remote - SSH extension のマニュアルを参照します。
Developing on Remote Machines using SSH and Visual Studio Code

このマニュアルでは SSH 接続でリモート開発する際のアーキテクチャ概要図が示されています。

Developing on Remote Machines using SSH and Visual Studio Code

このアーキテクチャ概要図から以下のことが読み取れます。

  • ローカルとリモートの間を SSH トンネルで接続する
  • ローカルでは VS Code が稼働している
  • サーバでは VS Code Server が稼働している

先述のマニュアルの手順に従えば Linux マシンに SSH 接続してリモート開発できます。ですが、手順の中で VS Code Server のインストール手順は出てきません。にもかかわらずリモート開発できる秘密は初回接続時の処理にあります。初回接続時にリモートマシンのホームディレクトリに VS Code Server がインストールされます。

VS Code の出力を "Remote - SSH" に切り替えて、出力されていた内容を抜粋します。
[user]:リモートサーバのユーザ名
[hash]:何らかのハッシュ値

> [user]@192.168.0.8's password:
> [hash]: running
> Acquiring lock on /home/[user]/.vscode-server/bin/[hash]/vscode-remote-lock.[user].[hash]
> Installing to /home/[user]/.vscode-server/bin/[hash]...
> Downloading with wget
> Download complete
> Checking /home/[user]/.vscode-server/.[hash].log and /home/[user]/.vscode-server/.[hash].pid for a running server
> Running ssh connection command... /home/[user]/.vscode-server/bin/[hash]/bin/code-server --start-server --host=127.0.0.1 --accept-server-license-terms --enable-remote-auto-shutdown --port=0 --telemetry-level all &> "/home/[user]/.vscode-server/.[hash].log" < /dev/null

ホームディレクトリ配下に ".vscode-server" ディレクトリを作成し、VS Code Server をインストール・管理している様子がうかがえます。