やりたいこと
VS Code remote development でインターネットにつながらないリモートホストに接続する
通常手順では接続NGとなる
環境
-
クライアント
- windows7 32bit
- VSC ver 1.41
-
リモートホスト
- centos 7.2
前提条件
- クライアントにVSCがインストールされていること
- remote development関連のextentionがインストールされていること
- WindowsクライアントにOpenSSHがインストールされていること
- リモートホストにてクライアント用のSSL鍵の接続設定が完了していること
- VSCのRemote SSHにてssh.exeのpathが設定されていること
- 接続時のOUTPUTに "wget download failed" が表示されていること
原因
リモートホストにて、remote development接続用のvscode-serverをセットアップするのだが
必要資材をインターネットからダウンロード(wget)するため、ダウンロードできず後続処理でNGとなる
対策
インターネットにつながるクライントで必要資材をダウンロードし、リモートホストへ手動で配置、展開することで問題を解決する
リモートホストにインストールするvscode-serverを取得
- コミット情報を確認
クライアントのVSCにて画面から以下の手順でコミット情報を確認
VS Code -> [ヘルプ(H)] -> [バージョン情報] -> コミット
バージョン: 1.41.1 (user setup)
コミット: 26076a4de974ead31f97692a0d32f90d735645c0
- コミット情報をキーに資材を取得
インターネットにつながる環境で、以下URIからファイル取得、ブラウザにURIを入れてもOK
https://update.code.visualstudio.com/commit:'コミット'/server-linux-x64/stable
※ver1.41.1の場合
https://update.code.visualstudio.com/commit:26076a4de974ead31f97692a0d32f90d735645c0/server-linux-x64/stable
以下の資材が取得できる
vscode-server-linux-x64.tar.gz
資材配置
-
リモートホストの配置先ディレクトリ確認
VSCでリモートホストへ一度でも接続を試していたら、以下ディレクトリが作成される
~/.vscode-server/bin/'コミット'/
-
該当ディレクトリにSCP等で資材を配置する
scp vscode-server-linux-x64.tar.gz username@hostname:/home/username/.vscode-server/bin/'コミット'/
-
リモートホストにて資材を解凍する
tar -zxvf ~/.vscode-server/bin/'コミット'/vscode-server-linux-x64.tar.gz
-
おまじない
初回接続失敗時に ~/.vscode-server/bin/'コミット'/ 配下に、以下のlockファイルがあるので念のため削除
rm vscode-remote-lock.'コミット'
VSC remote development処理で必要となるflagファイルを念のため配置
touch ~/.vscode-server/bin/'コミット'/vscode-scp-done.flag
再度接続
VSCにて、リモートホストへ接続する
つながればOK、お疲れ様でした
無事接続できたら幸いです
参考
https://www.mathkuro.com/?p=726
https://github.com/microsoft/vscode-remote-release/issues/1399