Настройка подключения при помощи VS Code

Visual Studio Code  - редактор исходного кода, имеющий широкие возможности для кастомизации. В том числе редактор поддерживает установку готовых расширений для удалённой разработки. Например, расширение Remote SSH позволяет получить удаленный доступ к серверу с помощью протокола SSH.

Включение SSH

Для удаленного подключения через VS Code необходимо включить возможность использовать SSH (подробнее о данном протоколе здесь). По умолчанию на всех тарифах нашего хостинга доступ по протоколу SSH выключен.

Чтобы включить доступ по SSH, потребуется нажать на кнопку включения доступа в Панели Управления аккаунтом. Она располагается на главной странице в разделе "Тех. информация".

Тех. информация

Настройка подключения

Для удаленной разработки VS Code копирует свою бинарную часть, vscode-server, на удаленный сервер и запускает его, после чего клиент обменивается информацией с сервером. Для работы бинарной части требуется проксировать подключение в docker.

Первым шагом нужно прокинуть публичный ssh-ключ на сервере. Для начала проверьте, нет ли уже созданных ключей. Выполнить это можно прямо из Панели управления хостингом, через web-терминал:

ikigai@spirit:~ [0] $ ll -l .ssh/
total 28K
drwx------+  2 ikigai newcustomers 4,0K мая   28  2020 ./
drwx------+ 21 root   root         4,0K марта 19 02:56 ../
-rwx------+  1 ikigai newcustomers  404 мая   28  2020 authorized_keys*
-rwx------+  1 ikigai newcustomers 1,7K мая   28  2020 id_rsa*
-rwx------+  1 login newcustomers  404 мая   28  2020 id_rsa.pub*

Если файлы с названием id_rsa* отсутствуют, сгенерируйте ключ:

ikigai@spirit:~ [0] $ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/i/ikigai/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/i/ikigai/.ssh/id_rsa.
Your public key has been saved in /home/i/ikigai/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:YmTciV/8VMK6SxLPniAKweov/lQipIaruMd7j26qSq4 ikigai@spirit.beget.ru
The key's randomart image is:
+---[RSA 2048]----+
|           .. .  |
|     . o o  .o   |
| o    = o o..    |
|+ o  o ....o     |
|o+ o .o S+ ..    |
|o.o o...o =      |
|oo o . . = o     |
|=o+ +.    +      |
|E**Oo..          |
+----[SHA256]-----+

Добавьте публичный ключ в доверенные, чтобы подключение по localhost не требовало пароль при каждой попытке подключения.

ikigai@spirit:~ [0] $ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
ikigai@spirit:~ [0] $ chmod 600 .ssh/authorized_keys

Установка и настройка VS Code

Скачать VS Code можно здесь.

Также потребуется скачать и установить расширение Remote SSH. Вы можете найти Remote SSH во вкладке «Расширения» (Ctrl+Shift+X):

Remote SSH

После установки расширения вы увидите индикатор в нижнем левом углу строки состояния. Этот индикатор сообщает вам, в каком контексте выполняется VS Code (локальном или удаленном). Щелкните индикатор, чтобы открыть список команд удаленного расширения:

Контекст VS Code

Для подключения к серверу сформируйте конфигурационный файл. Для этого выберите "Open Сonfiguration file" - "... /.ssh/config".

Добавьте и сохраните в файле конфигурации параметры для подключения. Пример конфигурации:

Host ikigai_test
    HostName localhost
    Port 222
    User ikigai
    IdentityFile ~/.ssh/id_rsa
    ProxyJump ikigai@ikigai.beget.tech
    ProxyCommand ssh -W %h:%p ikigai@ikigai.beget.tech

"Host" может быть любым именем. В параметрах "User", "ProxyJump", "ProxyCommand" укажите ваши данные соответственно.

Подключение к серверу

После создания файла конфигурации по индикатору откройте список команд удаленного расширения. Выберите вариант подключения: в текущем окне или в дополнительном.

Вариант подключения

Из списка выберите добавленный вами Host:

Добавленный Host

При первом подключении подтвердите все указанные действия:

 Подтвердить действия

Поздравляю, вы успешно подключились по SSH через VS Code:

Готово

Теги:

2
1174