Настройка SFTP расширения в VSCode
Сейчас пытался настроить синхронихзацию файлов десктопной среды разработки VSCode и удаленного сервера по ssh. Как обычно сразу не зараотало, поэтому делюсь солюшеном.
Проблема
В консоле великолепно проходит ssh-авторизация по ключу, а вот в VSCode файлы через него не закачиваются. Оказалось, что проблема была в алгоритме шифрования.
Решение
Устанавливаем расширение “SFTP” от автора Natizyskunk. Сейчас оно второе в списке, будьте внимательны, иконки у них одинаковые, но первое закачивает пустые файлы.
1. Генерируем пару ключей ed25519 на локальной машине.
1 |
ssh-keygen -t ed25519 |
2. Закачиваем публичный ключ на целевую машину.
3. Правим конфиг SFTP расширения.
Cmd + Shift + P -> “SFTP: Config”
Вводим вот такой конфиг:
1 2 3 4 5 6 7 8 9 10 11 12 |
{ "name": "x.x.x.x", "host": "x.x.x.x", "protocol": "sftp", "port": 22, "secure": true, "username": "admin", "privateKeyPath": "/Users/andrey/.ssh/id_ed25519", "remotePath": "/home/admin/trmg-mplx/current", "uploadOnSave": true, "ignore": [".vscode", ".git", ".DS_Store"] } |
4. Тестируем
Нажимаем Cmd+S и проверяем что открытый измененный файл закачался на целевую машину.