Używanie "zdalnego SSH" w VSCode na docelowej maszynie, która umożliwia tylko przychodzące połączenia SSH
Czy istnieje sposób użycia zdalnego rozszerzenia SSH VSCode do interakcji ze zdalnym hostem, który nie pozwala na wychodzące połączenia internetowe?
Czy jest możliwe pobranie plików vscode-server z innego systemu i skopiowanie ich do hosta?
Czytałem to ale nie mogę połączyć serwera z Internetem.
5 answers
Po podłączeniu do hosta wykonuje skrypt bash, który wgets lub loki tarball i wyodrębnia go w katalogu w katalogu domowym. Oto obejście w trybie offline.
-
Próba połączenia, niech się nie powiedzie
-
Na serwerze Pobierz identyfikator commita
$ ls ~/.vscode-server/bin 553cfb2c2205db5f15f3ee8395bbd5cf066d357d
-
Pobierz tarball zastępując $COMMIT_ID numerem commita z poprzedniego kroku
Dla Stabilnego Wersja
Https://update.code.visualstudio.com/commit:$COMMIT_ID/server-linux-x64/stable
Dla Wersji Insider
Https://update.code.visualstudio.com/commit:$COMMIT_ID/server-linux-x64/insider
-
Przenieś tarball do ~/.VSCode-server/bin/$COMMIT_ID/VSCode-server-linux-x64.smoła.gz
-
Wyodrębnij tarball w tym katalogu
$ cd ~/.vscode-server/bin/$COMMIT_ID $ tar -xvzf vscode-server-linux-x64.tar.gz --strip-components 1
-
Połącz again
Nadal będziesz musiał ręcznie instalować rozszerzenia. Obok wszystkich rozszerzeń w marketplace znajduje się przycisk pobierania. Kiedy już będziesz miał .plik vsix można zainstalować je za pomocą interfejsu graficznego za pomocą opcji Install from VSIX w Menedżerze rozszerzeń.
To rodzaj bólu i mam nadzieję, że poprawią ten proces, ale jeśli masz katalog domowy oparty na sieci, musisz to zrobić tylko raz.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-09-06 01:58:17
Nowa funkcja jest dodawana do obsługi instalacji offline
Możesz jednak teraz rozwiązać ten problem poprzez nowe ustawienie użytkownika w rozszerzeniu Remote-SSH. Jeśli włączysz ustawienie zdalne.SSH.allowLocalServerDownload, rozszerzenie najpierw zainstaluje serwer VS Code na kliencie, a następnie skopiuje go na serwer przez SCP.
Uwaga: jest to obecnie funkcja eksperymentalna, ale będzie domyślnie włączona w następnym release
Https://code.visualstudio.com/blogs/2019/10/03/remote-ssh-tips-and-tricks
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-20 09:12:55
Open vscode - > about
Version: 1.46.1
Commit: cd9ea6488829f560dc949a8b2fb789f3cdc05f5d
Date: 2020-06-17T21:17:14.222Z
Electron: 7.3.1
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Darwin x64 17.7.0
$COMMIT_ID = cd9ea6488829f560dc949a8b2fb789f3cdc05f5d
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-07-07 09:34:45
A a praca wokół zrobiłem następujące:
Pulpit ~/.ssh/config
...
Host *
RemoteForward 54321
...
Remote: ~/bin/wget
w którym ~/bin
jest dodawany do PATH
poprzez .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 $@
Remote: ~/opt/tsocks/tsocks.conf
server = 127.0.0.1
server_port = 54321
server_type = 5
Uwaga tsocks
binarny został SCP-ed do ~/bin/tsocks
i ~/opt/tsocks/
został utworzony z libtsocks.so
, który jest zwykle przechowywany w /usr/lib64/libtsocks.so
Jest to obejście, które pozwala mi mieć funkcjonalność wget z poza messing z niczego poza moim profilem, aby go do pracy (np: NO root wymagane ... mimo, że go mam).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-08-12 18:15:11
Aktualna wersja VS Code: 1.48.2
Po prostu zabijam proces wget na końcu serwera i pozwalam klientowi pobrać archiwum i przenieść je na koniec serwera. To dość proste, jak poniżej.
- upewnij się, że ustawiłeś w Ustawieniach.json
"remote.SSH.allowLocalServerDownload": true,
- wykonaj poniższe scrpity powłoki.
# to find the <pid>
ps aux | grep wget | grep vscode-server
# kill the process
kill -9 <pid>
# then wait for the client downloading and transferring
# optional: If you want to know the progress, just
cd ~/.vscode-server/bin/<commit-id>/
watch -n 1 -d ls -rthl
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-08-26 14:11:16