Połączenie do serwera przez SSH w edytorze VSCode – Visual Studio Code

Obrazek dla Połączenie do serwera przez SSH w edytorze VSCode – Visual Studio Code

Czy kiedykolwiek zdarzyło Ci się pracować zdalnie otwierając najpierw klienta FTP, edytować plik na serwerze, zapisywać zmiany, a następnie obserwować logi w konsoli przez klienta SSH? W takim trybie pracy potrzeba aż 3 różnych programów. Co gdyby wszystko to dało się ogarniać korzystając tylko z jednego? To prostsze niż myślisz.

Co to jest VSCode?

Visual Studio Code, często nazywany po prostu VSCode, to wieloplatformowy edytor kodu źródłowego stworzony przez firmę Microsoft. Jest on dostępny za darmo i cieszy się dużą popularnością wśród programistów na całym świecie. VSCode łączy w sobie zalety edytora tekstowego i potężnego środowiska programistycznego (IDE), oferując szeroki wachlarz funkcji, które wspierają pisanie, debugowanie oraz testowanie kodu.

vscode edytor kodu
Visual Studio Code – edytor dla programisty

VSCode działa na systemach Windows, macOS oraz Linux. VSCode posiada wbudowaną integrację z Git, co pozwala na łatwe zarządzanie wersjami kodu bez konieczności opuszczania edytora. Dzięki bogatej bazie rozszerzeń, użytkownicy mogą dostosować VSCode do swoich potrzeb, dodając funkcje takie jak obsługa różnych języków programowania, integrację z systemami kontroli wersji, czy wsparcie dla narzędzi deweloperskich. A jeszcze lepszą funkcjonalność osiągniesz poprzez bezpośrednie połączenie się do zdalnego serwera używając SSH. Jak to zrobić?

Visual Studio Code i praca zdalnie przez zdalne połączenie

Każdy programista ma swój stos narzędzi i swój własny workflow, który z biegiem lat opłaca się zoptymalizować. Z biegiem czasu popadamy w rutynę zachowań, które potem stają się naszym nawykiem. Jak na przykład: uruchamianie 3 narzędzi do jednego zadania. Łapałem się na tym że uruchamiałem klienta FTP aby edytować plik na zdalnym serwerze webowym, a potem jeszcze program puTTy żeby obserwować logi czy wykonać komendę ’reload’. A można prościej.

VScode posiada ogromne repozytorium dodatków. Jednym z takich dodatków jest oficjalny zestaw od Microsoft pod nazwą Remote Development.

Dzięki dodatkowi wyeliminujesz potrzebę kopiowania plików między systemami. Będziesz mógł połączyć się z serwerem Linuxowym z systemu Windows i pracować na projektach bez potrzeby instalowania dodatkowego oprogramowania na lokalnej maszynie. Dodatek umożliwia również uruchamianie VSCode wewnątrz kontenera Docker czy uruchomienie pełnej instancji VSCode w środowisku WSL.

Nie masz serwera z dostępem SSH?

Sprawdź naszą platformę hostingową dla programistów, którzy nie chcą serwera VPS!

Elastyczny Hosting

Podczas korzystania z dodatku Remote Development w Visual Studio Code do zdalnego połączenia przez SSH, na zdalnym serwerze uruchamiane są dodatkowe procesy, które umożliwiają działanie VSCode na zdalnej maszynie tak, jakby działało lokalnie:

admin    21419  0.0  1.9 1363772 120040 ?      Sl   08:31   0:03 /home/admin/.vscode-server/cli/servers/Stable-b1c0a15df1414fcdaa410695b4db1c0799bc3124/server/node /home/admin/.vscode-server/cli/servers/Stable-b1c0a15df1414fcdaa410695b4db1c0799bc3124/server/out/server-main.js --connection-token=remotessh --accept-server-license-terms --start-server --enable-remote-auto-shutdown --socket-path=/tmp/code-0192b624-1921-4003-8513-9df788ca1efe

Jak połączyć się przez SSH w VScode?

Najpierw zainstalujemy pakiet dodatków w VScode. W tym celu uruchom Visual Studio Code i naciśnij ctrl+P i [1] wklej w prompt komendę:

 ext install ms-vscode-remote.vscode-remote-extensionpack

lub [2] przejdź na stronę dodatku ( Visual Studio Code Remote Development Extension Pack ) i kliknij w przycisk Install.

Zrzuty ekranu pochodzą z instalacji VSCode w systemie Linux Ubuntu ale analogiczne kroki są w przypadku innych systemów jak Windows czy macOS.

Zostaną zainstalowane dodatki, a na pasku pojawi się nowa ikonka.

Teraz ustanowimy nowe połączenie ze zdalnym serwerem poprzez SSH. W tym celu kliknij na [1] ikonkę dodatku, a następnie na liście SSH [2] kliknij w + plus, aby dodać nowe połączenie.

[3] Podaj użytkownika i adres zdalnego hosta. Możesz też wskazać port. Składnia jest podobna jak w domyślny połączeniu ssh z konsoli.

uzytkownik@host -p{numer-niestandardowy-portu-ssh}

W następnym kroku zostaniesz zapytany w [1] jakiej ścieżce trzymać konfigurację do tego połączenia. Domyślnie możesz wskazać swój katalog domowy.

Wyświetli się informacja że host został dodany. [2] Tu możesz otworzyć swój plik konfiguracyjny i wprowadzić teraz zmiany lub [3] połączyć się z serwerem. Ale lepiej [4] połączyć się z nim wybierają z listy serwerów i otwierając w nowym oknie.

Jeśli po dodaniu hosta SSH nie widzisz go na liście – odśwież REMOTES na ikonce w pasku bocznym.

Dalej zaakceptuj [1] standardową identyfikację połączenia do hosta.

vscode ssh

Gotowe. Podłączenie wykonane. Co teraz?

Masz dostęp do folderów lokalnych na serwerze. [1] Otwórz jakiś folder w VScode.

Następnie wskaż [1] folder do otwarcia i kliknij [2] OK.

Teraz możesz już otwierać [1] pliki i foldery zdalne tak jak dotychczasowy projekt lokalny. Możesz również uruchomić zdalny [2] Terminal.

i pracować na nim jak na normalnym kliencie SSH.

Logowanie do SSH w VScode – poprzez klucze.

Standardowo dodatek Remote Development nie przechowuje haseł. To znaczy że przy połączeniu będzie pytał Cię za każdym razem o hasło. Może być to uciążliwe, dlatego najlepiej korzystaj z bezpiecznej metody logowania SSH z wykorzystaniem kluczy.

Wystarczy że w konfiguracji tekstowej połączenia wykorzystasz przykładową składnię i wskażesz ścieżkę do swojego klucza SSH:

Host mojserwer.pl
  HostName srv.mojserwer.pl
  User admin
  Port 1022
  IdentityFile  ~/.ssh/mojserwer.pl.key