Как настроить удаленную отладку Node.js в Visual Studio Code по SSH
Удаленная отладка полезна, когда приложение Node.js запускается не на вашем ноутбуке, а на сервере, тестовой машине или в контейнере, доступ к которому идет только по SSH. В таком сценарии удобно подключаться из Visual Studio Code и ставить точки останова так, будто код работает локально. Это помогает быстрее разбирать ошибки, смотреть значения переменных и проверять поведение сервиса в реальной среде.
Сама схема несложная: на удаленной машине должен быть запущен Node.js с включенным отладочным портом, а VS Code — настроен на подключение к этому порту через SSH-туннель. Обычно для этого хватает Remote — SSH и стандартной конфигурации launch.json. Если один раз собрать связку аккуратно, дальше отладка будет запускаться почти так же, как локальная.
Что понадобится для работы
Для начала нужен доступ к серверу по SSH и установленный Node.js на удаленной машине. На локальном компьютере должен быть Visual Studio Code с расширением Remote — SSH. Также важно понимать, где именно запускается приложение: вручную, через pm2, systemd, docker-compose или другой процесс-менеджер, потому что способ старта влияет на параметры отладки.
Если проект уже лежит на сервере, этого достаточно. Если код находится только локально, можно открыть удаленную папку через SSH и работать прямо с ней в VS Code. Такой подход удобен тем, что пути к файлам совпадают, а значит, точки останова срабатывают без лишних настроек.
Подключение к серверу через Remote — SSH
Сначала установите расширение Remote — SSH и откройте командную палитру VS Code. Затем выберите подключение к хосту, укажите SSH-адрес и, при необходимости, пользователя и ключ. После успешного входа откройте нужную папку с проектом на сервере.
Когда удаленная среда открыта, VS Code работает с файлами на сервере, но интерфейс остается привычным. Это особенно удобно, если нужно править код и сразу проверять его под теми же версиями зависимостей и конфигурацией, что используются в боевом или тестовом окружении.
Запуск Node.js с параметром отладчика
Для подключения отладчика Node.js должен быть запущен с флагом --inspect или --inspect-brk. Первый вариант включает отладку без остановки на старте, второй приостанавливает выполнение на первой строке. Обычно порт по умолчанию — 9229, и именно на него затем будет смотреть VS Code.
Пример запуска на сервере может выглядеть так:
<code>node --inspect=0.0.0.0:9229 app.js</code>
Если нужна остановка перед выполнением кода, используйте --inspect-brk. Для долгоживущих сервисов важно не забыть, что отладочный порт не должен быть доступен всем подряд; лучше ограничить его локальным интерфейсом и пробрасывать только через SSH-туннель.
Важно: не открывайте отладочный порт в интернет напрямую. Для удаленной отладки безопаснее использовать SSH-туннель или локальную привязку к 127.0.0.1, а не публичный адрес.
Настройка launch.json в Visual Studio Code
Дальше нужно описать конфигурацию запуска в launch.json. В VS Code откройте раздел отладки, создайте новую конфигурацию для Node.js и выберите вариант с подключением к уже запущенному процессу. Для удаленного сценария чаще всего используется конфигурация типа attach.
Типичная настройка выглядит так:
<code>{

