Настройка SSH подключений в Visual Studio Code

Visual Studio Code – это очень функциональный и универсальный текстовый редактор, который могут использовать не только разработчкики, но и системные администраторы. Вы можете использовать VS Code для редактирования скриптов (см. как использовать VSCode для разработки скриптов PowerShell ), конфигурационных файлов или даже командной оболочки консоли. С помощью расширения Remote SSH вы можете подключаться к удаленным компьютерам по SSH и редактировать любые файлы, скрипты, конфиги или выполнять команды на удаленных Windows или Linux хостах прямо из VS Code, установленного на вашем компьютере.

В этой статье мы покажем, как настроить SSH клиент в Visual Studio Code для подключения к удаленным хостам.

Запустите VS Code, перейдите в раздел Extensions ( Ctrl + Shift + X ), найдите и установите расширение Remote SSH .

При этом автоматически устанавливаются расширения Remote SSH: Editing Configuration Files и Remote Explorer (вкладка Extension Pack).

Выберите Remote Explorer в левой панели VS Code и создайте новое SSH подключение. Мастер подключения запросит:

  • строку SSH подключения: [email protected]
  • путь к конфигурационному файлу, в котором будут храниться настройки этого подключения (по умолчанию C:Users%username%.sshconfig .
Чтобы создать новое подключение можно нажать CTRL + SHIFT + P и выбрать Remote-SSH: Connect to Host)

Теперь вы можете подключиться к удаленному хосту по SSH. Выберите нужный хост в списке и выберите Connect.

При первом подключении VSCode запрашивает у вас тип платформы на удаленном SSH хосте (Linux/Windows/MacOS) и пароль для подключения:

После подключение к удаленном SSH хосту вы можете прямо из VSCoder редактировать любые текстовые файлы и выполнять команды в Shell как будто вы подключились с помощью ssh-клиента (чтобы отобразить окно терминала, выберите Terminal -> New Terminal),

Если вы в 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 Save as Root in Remote — SSH . После установки этого расширения вы сможете сохранить файл в режим sudo с помощью команды «Save as Root».

В Remote SSH вы можете использовать как парольную аутентификацию, так и аутентификацию по SSH ключам.

Попробуем настроить аутентификацию по SSH ключам на удаленном хосте Windows :

  1. Сгенерируйте на клиенте пару SSH ключей: ssh-keygen -t ed25519
    В этом примере используется Windows 10 со встроенным клиентом OpenSSH .
  2. Скопируйте файл открытого ключа C:Users%username%.sshid_ed25519 в файл C:Usersuser1.sshauthorized_keys на удаленном хосте (где user1 – имя пользователя, под которым вы будете подключаться);
  3. Проверьте, что в конфигурационном файле OpenSSH сервера в Windows включена опция:
    PubkeyAuthentication yes
  4. Теперь откройте файл C:Users%username%.sshconfig в котором хранятся настройки подключения VSCode к хостам SSH. Найдите хост и добавьте параметре IdentityFile с путем к вашему закрытому ключу:
    Host 192.168.31.4_x000D_ HostName 192.168.31.4_x000D_ User root_x000D_ IdentityFile "C:Usersuser1.sshid_ed25519"

Чтобы быстро открыть конфиг файл, нажмите F1 -> Remote-SSH: Open SSH Configuration File.

Теперь при подключении к SSH хосту будет использоваться аутентификацию по ключу (без пароля).

Вы можете использовать директиву LocalForward для организации SSH туннелей и проброса портов . Можно использовать директивы ForwardAgent и ProxyJump :

Host PublicJumpServer1_x000D_ HostName pub.remontka.com_x000D_ User user1_x000D_ ForwardAgent yes_x000D__x000D_Host PrivateServer1_x000D_ HostName private.contoso.com_x000D_ User user1_x000D_ ProxyJump PublicJumpServer1_x000D_
admin

Share
Published by
admin

Recent Posts

После включения диагностического запуска не удается войти в Windows — как исправить?

Некоторые пользователи, экспериментируя с конфигурацией системы в окне msconfig могут столкнуться с ситуацией, когда после…

2 недели ago

WinScript — очистка и настройка Windows 11 и 10

На сайте не раз публиковались обзоры программ, предназначенных для очистки или настройки последних версий Windows.…

2 недели ago

Предварительный просмотр накопительного обновления не устанавливается — решение

При установке некоторых обновлений Windows 11, имеющих в названии «Предварительный просмотр накопительного обновления», многие пользователи…

2 недели ago

FixExec — восстановление ассоциаций .exe, .bat и .com файлов

Некоторые пользователи Windows 11, 10 и предыдущих версий системы могут столкнуться с ситуацией, когда исполняемые…

2 недели ago

Ошибка 0x800705b4 при обновлении Windows 11 и 10 — как исправить?

При установке обновлений Windows 11/10 некоторые пользователи могут столкнуться с ошибкой с кодом 0x800705b4 и…

2 недели ago

Обслуживание вашей версии Windows 11 окончено — что делать?

Пользователи Windows 11 могут столкнуться с сообщением «Обслуживание вашей версии Windows окончено» (Your version of…

2 недели ago