web-dev-qa-db-ja.com

インターネットなしのVSCodeを使用したSSH

インターネットなしで接続する方法はありますか?別のシステムからvscodeサーバーファイルをダウンロードしてホストにコピーしますか?私は this を読みましたが、サーバーをインターネットに接続できません。

10
TiTAN

ホストに接続すると、tarballをwgetまたはcurlするbashスクリプトが実行され、ホームディレクトリ内のディレクトリに抽出されます。これがオフラインの回避策です。

  1. 接続を試みて失敗させます
  2. サーバーでコミットIDを取得する

    $ ls ~/.vscode-server/bin
    553cfb2c2205db5f15f3ee8395bbd5cf066d357d
    
  3. $ COMMIT_IDを前のステップのコミット番号に置き換えてtarballをダウンロードしますhttps://update.code.visualstudio.com/commit :$ COMMIT_ID/server-linux -x64/stable

  4. Tarballを〜/ .vscode-server/bin/$ COMMIT_ID/vscode-server-linux-x64.tar.gzに移動します

  5. このディレクトリにtarballを抽出します

    $ cd ~/.vscode-server/bin/$COMMIT_ID
    $ tar -xvzf vscode-server-linux-x64.tar.gz --strip-components 1
    
  6. 再接続

それでも、拡張機能を手動でインストールする必要があります。マーケットプレイスのすべての拡張機能の横にダウンロードボタンがあります。 .vsixファイルを取得したら、拡張マネージャのInstall from VSIXオプションを使用してGUIからインストールできます。

これは一種の苦痛であり、うまくいけばこのプロセスが改善されると思いますが、ネットワークベースのホームディレクトリがある場合は、これを一度だけ実行する必要があります。

21
aviso

回避策は次のとおりです。

デスクトップ~/.ssh/config

...

Host *
  RemoteForward 54321

...

リモート:~/bin/wget _~/binPATHに.bashrc経由で追加されます

#!/bin/bash
export LD_LIBRARY_PATH=$HOME/opt/lib/tsocks/
export TSOCKS_CONF_FILE=$HOME/opt/tsocks/tsocks.conf
$HOME/bin/tsocks /usr/bin/wget $@

リモート:~/opt/tsocks/tsocks.conf

server = 127.0.0.1
server_port = 54321
server_type = 5

tsocksバイナリは~/bin/tsocksにscp-edされ、~/opt/tsocks/libtsocks.soで作成され、通常/usr/lib64/libtsocks.soに保存されます

これは、自分のプロファイルの外で何かをいじることなくwget機能を使用できるようにする回避策です(たとえば、rootは必要ありません...持っていても)。

0

オフラインインストールをサポートする新機能が追加されています

ただし、Remote-SSH拡張機能の新しいユーザー設定でこの問題を解決できるようになりました。設定remote.SSH.allowLocalServerDownloadを有効にすると、拡張機能は最初にVS Codeサーバーをクライアントにインストールしてから、SCP経由でサーバーにコピーします。

注:これは現在実験的な機能ですが、次のリリースではデフォルトでオンになります

https://code.visualstudio.com/blogs/2019/10/03/remote-ssh-tips-and-tricks

0
Jonathan Parker