【解決】VS Code Remote-SSH:リモート先がオフラインで VS Code Server がインストールできない時の対処法

リモート先(SSH 接続先)が インターネットに接続されていない場合、VS Code Remote-SSH は接続時に必要となる VS Code Server を自動ダウンロードできず、以下のようなエラーで接続が失敗します。
"XXXXX" への接続を確立できません: VS Code Server (Failed to fetch) をダウンロードできませんでした.目次
VS Code Server をローカルでダウンロードする
VS Code Server は以下の URL から取得できます。
# Linux x64
https://update.code.visualstudio.com/commit:<コミットID>/server-linux-x64/stable
# Linux ARM64
https://update.code.visualstudio.com/commit:<コミットID>/server-linux-arm64/stable
# Linux ARMHF
https://update.code.visualstudio.com/commit:<コミットID>/server-linux-armhf/stableローカル(インターネット接続可能な PC)で上記 URL にアクセスし、server-linux-*.tar.gz 形式の VS Code Server をダウンロードします。
ダウンロードしたファイルをリモートへ転送する
リモートがオフラインのため、USB メモリや LAN 内 scp などで転送します。
例(USB でコピーし /tmp に置いたと仮定)
/tmp/server-linux-x64.tar.gz
リモート側に VS Code Server を手動配置する
VS Code Server は通常次のディレクトリに配置されます。
~/.vscode-server/bin/<コミットID>/
ディレクトリを作成します。
mkdir -p ~/.vscode-server/bin/<コミットID>次にダウンロードした tar.gz を展開します。
tar -xzf /tmp/server-linux-x64.tar.gz -C ~/.vscode-server/bin/<コミットID> --strip-components=1
# パーミッション(推奨)
chmod -R 755 ~/.vscode-server/bin/<コミットID>VS Code Remote-SSH で接続し直す
ここまで完了していれば、VS Code はサーバの自動ダウンロードを行わず
既にインストール済みの VS Code Server を利用するため、そのまま接続が成功するはずです。

コメント