VS Code SSH Remote: разработка прямо на VPS
Как настроить Remote SSH в VS Code и Cursor для разработки на VPS: ключи, конфиг, расширения, port forwarding и отличия от локальной машины. Практический гайд без лишней теории.
Локальная машина с Windows и проект, который должен жить на Linux в production — классический разрыв: «у меня работает» превращается в отладку на сервере через nano и tail -f. Remote SSH в VS Code (и Cursor на той же базе) переносит IDE на VPS: файлы, терминал, отладчик и расширения работают удалённо, а вы видите привычный интерфейс.
Один раз настроили SSH — и pet-проект, и staging окружение редактируются так же удобно, как локальная папка.
Как работает Remote SSH
Расширение Remote - SSH поднимает на VPS лёгкий VS Code Server. Ваш клиент на Windows/Mac:
- отображает UI и отправляет команды;
- синхронизирует открытые файлы и настройки workspace;
- пробрасывает порты (dev-сервер на localhost:3000 доступен локально).
Код не копируется туда-сюда — вы редактируете файлы прямо на диске VPS. Git, npm, python, docker — всё нативное Linux-окружение.
Подготовка VPS
Минимальные требования к cloud/VPS:
- Ubuntu 22.04/24.04 или Debian 12;
- 2 GB RAM (комфортнее 4 GB при тяжёлых расширениях);
- пользователь с sudo, вход по SSH-ключу.
На сервере:
sudo apt update && sudo apt install -y git curl build-essential
Отключите password auth в /etc/ssh/sshd_config:
PasswordAuthentication no
PubkeyAuthentication yes
Перезапуск: sudo systemctl restart sshd. Firewall: открыт только порт 22 (или кастомный) с вашего IP.
SSH-ключ и config на локальной машине
Сгенерируйте ключ, если нет:
ssh-keygen -t ed25519 -C "dev-vps"
ssh-copy-id deploy@YOUR_VPS_IP
Файл ~/.ssh/config (Windows: C:\Users\User\.ssh\config):
Host my-vps
HostName 203.0.113.10
User deploy
IdentityFile ~/.ssh/id_ed25519
ForwardAgent yes
Проверка: ssh my-vps — вход без пароля.
Подключение из VS Code / Cursor
- Установите расширение Remote - SSH (Microsoft).
F1→ Remote-SSH: Connect to Host →my-vps.- Выберите платформу Linux, дождитесь установки VS Code Server.
- File → Open Folder →
/home/deploy/projects/myapp.
Cursor использует тот же механизм: Remote SSH из marketplace, те же config-хосты. Workspace settings хранятся в .vscode/ на сервере — коммитьте их в репо для единообразия.
Полезные команды палитры:
- Remote-SSH: Kill VS Code Server on Host — при глюках после обновления;
- Forward a Port — доступ к API на VPS с локального браузера;
- Remote-SSH: Add New SSH Host — wizard для config.
Расширения и производительность
Расширения делятся на local и remote. Language servers (Python, ESLint, Rust-analyzer) ставьте на remote — они видят правильные пути и интерпретаторы.
Рекомендации для VPS:
- GitLens, Docker, REST Client — на remote;
- тяжёлые темы и AI-плагины — local, если возможно;
remote.SSH.remotePlatformв settings при нестандardных дистрибутивах.
Если VPS слабый — отключите minimap, уменьшите частоту file watcher (files.watcherExclude). На NVMe-диске cloud-провайдера индексация заметно быстрее HDD.
Для нескольких проектов — отдельные хосты или разные папки на одном VPS; не смешивайте prod и dev без изоляции (лучше два инстанса или Docker).
Безопасность и workflow
- Agent forwarding — осторожно на недоверенных хостах; для GitHub используйте deploy keys на VPS.
- Не работайте под root — отдельный user, проекты в home.
- Бэкапы — код в Git; данные БД — отдельно. VPS — расходник, репозиторий — источник истины.
- VPN — если VPS без белого IP для SSH, подключайтесь через WireGuard/Tailscale.
Типичный день: подключились к my-vps, подняли docker compose up, отладили в Remote, закоммитили с сервера или через локальный git с mount — оба варианта работают.
Итог
VS Code Remote SSH превращает VPS в полноценную dev-машину: тот же стек, что в production, без синхронизации файлов и суррогатного WSL для деплоя. Настройка — SSH-ключ, строка в config, одно расширение. Для pet-проекта на дешёвом cloud-инстансе это самый быстрый путь к честному «работает везде одинаково». Cursor наследует тот же flow — переносите привычки без переобучения.
Рекомендуем прочитать
- FastAPI на VPS: деплой с Uvicorn, Nginx и systemd
- Laravel на VPS: деплой PHP-приложения в production
- MCP для разработчиков: что это и зачем подключать к Cursor
- Node.js на VPS: деплой с PM2 и Nginx
- Ollama на своём VPS: локальные LLM без ChatGPT
- Как программисты используют ИИ каждый день: 15 реальных сценариев






