Блог
0 0 голоса
Рейтинг

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

Приобрести оригинальные ключи активации Visual Studio можно у нас в каталоге от 1099 ₽

Установка и настройка Remote SSH

1. Установите расширение Remote SSH:

– Запустите VS Code.

– Перейдите в раздел Расширения (Extensions, Ctrl+Shift+X).

– Найдите и установите Remote — SSH.

– Автоматически установятся Remote SSH: Editing Configuration Files и Remote Explorer.

2. Создайте SSH-подключение:

– Перейдите в Удалённый обозреватель (Remote Explorer) на левой панели.

– Нажмите Добавить новое подключение (Add New SSH Host).

– Введите строку подключения, например (или любую другую):


root@192.168.31.4

– Укажите путь к конфигурационному файлу (по умолчанию: C:\Users\%username%\.ssh\config).

– Альтернативно: нажмите Ctrl+Shift+P, выберите Remote-SSH: Подключиться к хосту (Remote-SSH: Connect to Host).

3. Подключитесь к хосту:

– Выберите хост в списке → Подключиться (Connect).

– При первом подключении укажите тип платформы (Linux, Windows, MacOS) и введите пароль.

4. Работа с файлами и терминалом:

– Открывайте и редактируйте файлы на удалённом хосте.

– Откройте терминал: ТерминалНовый терминал (TerminalNew Terminal).

– Выполняйте команды, как в обычном SSH-клиенте.

Решение проблем с правами доступа

При попытке сохранить файл без прав root (например, /etc/ssh/sshd_config) появляется ошибка:

Failed to save: NoPermissions (FileSystemError): Error: EACCES: permission denied

Решение: Save as Root

1. Установите расширение Save as Root in Remote — SSH:

– В Расширениях найдите и установите Save as Root in Remote — SSH.

2. Сохраните файл с правами root:

– Нажмите Ctrl+Shift+P → выберите Save as Root.

– Введите пароль sudo, если требуется.

Настройка аутентификации по SSH-ключам

Для подключения без ввода пароля настройте аутентификацию по SSH-ключам.

Настройка для Windows-хоста

1. Сгенерируйте пару ключей на локальном компьютере:


ssh-keygen -t ed25519

Ключи сохранятся в C:\Users\%username%\.ssh\id_ed25519 (закрытый) и id_ed25519.pub (открытый).

2. Скопируйте открытый ключ на удалённый хост:

– Скопируйте id_ed25519.pub в C:\Users\user1\.ssh\authorized_keys на удалённом хосте (user1 — имя пользователя).

3. Настройте OpenSSH на удалённом хосте:

– Убедитесь, что в файле C:\ProgramData\ssh\sshd_config включена опция:


PubkeyAuthentication yes

4. Настройте файл конфигурации VS Code:
– Откройте C:\Users\%username%\.ssh\config:


F1 → Remote-SSH: Открыть файл конфигурации SSH (Remote-SSH: Open SSH Configuration File)

– Добавьте:


Host 192.168.31.4
HostName 192.168.31.4
User root
IdentityFile "C:\Users\user1\.ssh\id_ed25519"

5. Проверьте подключение:

– Подключитесь к хосту без ввода пароля.

Настройка для Linux-хоста

1. Сгенерируйте ключи (аналогично):


ssh-keygen -t ed25519

2. Скопируйте открытый ключ:


ssh-copy-id user1@192.168.31.4

3. Проверьте sshd_config на хосте:


sudo nano /etc/ssh/sshd_config
PubkeyAuthentication yes

4. Настройте .ssh/config в VS Code (как выше).

Настройка SSH-туннелей и ProxyJump

Для проброса портов или подключения через промежуточный сервер используйте директивы в .ssh/config:

1. Настройте туннель с LocalForward:


Host tunnel
HostName 192.168.31.4
User root
LocalForward 8080 localhost:8080

2. Настройте ProxyJump для подключения через промежуточный сервер:


Host PublicJumpServer1
HostName pub.winitpro.ru
User user1
ForwardAgent yes

Host PrivateServer1
HostName private.contoso.com
User user1
ProxyJump PublicJumpServer1

Устранение неполадок

Ошибка EACCES: permission denied:

– Установите расширение Save as Root in Remote — SSH.

– Проверьте права доступа к файлу (chmod 600 ~/.ssh/authorized_keys).

Подключение не удаётся:

– Проверьте правильность IP, имени пользователя и ключа в .ssh/config.

– Убедитесь, что sshd запущен на хосте (systemctl status sshd).

Пароль запрашивается при наличии ключа:

– Проверьте PubkeyAuthentication yes в sshd_config.

– Убедитесь, что authorized_keys имеет права 600.

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

banner for Visual Studio
Лицензионный ключ активации Visual Studio от
1140 ₽ Купить
0 0 голоса
Рейтинг
Подписаться
Уведомить о
guest
0 отзывов
Межтекстовые Отзывы
Посмотреть все комментарии