Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
SSH into a Vagrant VM, such that Node.js can be debugged from a debugger or IDE in the host operating system. For some reason, port forwarding in the Vagrant file does not work. See!topic/vagrant-up/RzPooJ0dp6Q
# SSH into a Vagrant VM, forwarding ports in a way that allows node within Vagrant to be debugged by a debugger
# or IDE in the host operating system. Don't know why, but Vagrantfile port forwarding does not work.
# (!topic/vagrant-up/RzPooJ0dp6Q)
/usr/bin/vagrant ssh-config > $TMPDIR/vagrant-ssh-config
ssh -F $TMPDIR/vagrant-ssh-config -L 5858: default
rm $TMPDIR/vagrant-ssh-config

Reggino commented Oct 9, 2013

Thanks, this helped me a lot.

Please note that this script is used on the host, when connecting to the guest. In my case, when connecting from a Windows environment, this can be achieved by configuring a SSH tunnel in Putty.


ghost commented Dec 23, 2014

This was super helpful for me as well. Thanks for figuring this out!

Thanks a lot, I am a newbie to nodejs, and this saved my week !

Try this:

Vagrantfile: :forwarded_port, host: 5858, guest: 5858 :forwarded_port, host: 8080, guest: 8080

SSH to Vagrant

$ vagrant ssh
$ cd /vagrant/....
$ node-inspector &
$ node --debug app.js

Access using:

Works Fine!!

I update this to take an argument as an arbitrary port,

By default node-debug will bind to which is loopback.

Use node-debug --web-host= to bind it to all interfaces. Forwarding port 8080 should now work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment