Настройка удаленных подключений SSH в коде Visual Studio
Visual Studio Code — это очень многофункциональный и универсальный текстовый редактор, который может быть полезен как разработчикам, так и системным администраторам. Вы можете использовать VS Code для редактирования сценариев PowerShell, файлов конфигурации и запуска консольных команд. Расширение Remote SSH позволяет вам подключаться к удаленным компьютерам через SSH и редактировать файлы, сценарии, конфигурации или выполнять команды на удаленных хостах Windows или Linux непосредственно из VS Code, установленного на вашем компьютере.
Вот как настроить SSH-клиент Visual Studio Code для подключения к удаленным хостам.
Запустите VS Code и перейдите в раздел Расширения (
Ctrl + Shift + X ). Теперь найдите и установите расширение Remote SSH.
При этом автоматически устанавливаются следующие надстройки удаленного SSH: Редактирование файлов конфигурации и Remote Explorer (вкладка «Пакет расширений»).
Выберите Remote Explorer на левой панели VSCode, чтобы создать новое SSH-соединение. Мастер подключения предложит ввести:
Строка подключения SSH:
[emailпуть к файлу конфигурации, содержащему настройки для данного подключения (по умолчанию это
C:\Users\%username%\.ssh\config).
Вы также можете создать новое соединение, нажав
CTRL + SHIFT + Pи выберите Remote-SSH: подключиться к хосту.
Как только это будет сделано, вы сможете подключиться к удаленному хосту через SSH. Выберите хост из списка и нажмите Подключиться.
При первом подключении VSCode запросит тип платформы на удаленном хосте SSH (Linux/Windows/macOS) и пароль для подключения:
После подключения к удаленному хосту SSH вы можете редактировать любые текстовые файлы непосредственно из редактора VSCode и выполнять команды оболочки, как если бы вы были подключены через SSH-клиент (нажмите «Терминал» -> «Новый терминал», чтобы открыть приглашение консоли).
Если вы попытаетесь сохранить в VSCode файл, который не может быть отредактирован пользователем без полномочий root (без
sudo), вы получите следующую ошибку::
Failed to save 'sshd_config': Unable to write file 'vscode-remote://ssh-remote+192.168.79.128/etc/ssh/sshd_config' (NoPermissions (FileSystemError): Error: EACCES: permission denied, open '/etc/ssh/sshd_config').Одним из решений этой проблемы является использование расширения VSCode Сохранить как root в Remote - SSH. После установки этого расширения вы можете сохранить файл в режиме sudo с помощью команды Сохранить как root.
Аутентификация на основе пароля и ключа SSH поддерживается в Remote SSH.
Давайте попробуем настроить аутентификацию на основе ключей SSH на удаленном хосте Windows:
Создайте пару ключей SSH на клиенте:
ssh-keygen -t ed25519В этом примере используется Windows 10 со встроенным SSH-клиентом.
Скопируйте файл открытого ключа
C:\Users\%username%\.ssh\id_ed25519в файл
C:\Users\user1\.ssh\authorized_keysна вашем удаленном хосте (здесь user1 — это имя пользователя, к которому вы будете подключаться);
Убедитесь, что в файле конфигурации сервера OpenSSH в Windows включена следующая опция:
PubkeyAuthentication yesТеперь откройте файл C.
:\Users\%username%\.ssh\configкоторый содержит настройки подключения VSCode для хостов SSH. Найдите хост и добавьте параметр IdentityFile с путем к файлу вашего закрытого ключа:
Host 192.168.31.4
HostName 192.168.31.4
User root
IdentityFile "C:\Users\user1\.ssh\id_ed25519"Теперь соединение с хостом SSH будет осуществляться с аутентификацией на основе ключа (пароль не требуется).
Вы можете использовать директиву LocalForward для настройки SSH-туннелей и переадресации портов. Или вы можете использовать
ForwardAgentи
ProxyJumpвместо этого директивы:
Host PublicJumpServer1
HostName public.active-directory.ru
User user1
ForwardAgent yes
Host PrivateServer1
HostName private.contoso.com
User user1
ProxyJump PublicJumpServer1
Вы также можете подключиться к MS SQL Server и вести разработку на нем с помощью VS Code.






