Setup VS Code remote SSH with jump host proxy


This post will solve the issue where you need to first login to a remote server as an intermediary proxy and then connect to the other server, all via visual studio code.

For this we need to use the remote host feature of visual studio code like we do to connect with any regular remote server.

However, for the entry of our server, we will also add a proxy in configuration, pointing to our jump host.

Open vs code, then goto Remote Explorer in the side menu icons, then click on Configure to edit

The .ssh/config code will look like this:

Host any-name-for-this-entry
  HostName <host-ip-or-url>
  User <username>
  ProxyCommand ssh -W %h:%p <username>@<proxy-server-ip-or-url>

Save and then connect to this entry. It will connect you to the final host, while going through the proxy host to the final host.

Note that you can also change the setting for keeping server alive, so that it doesn’t break the connection when there is no activity (time is added in seconds). The .ssh/config file looks like this with it:

Host any-name-for-this-entry
  ServerAliveInterval 60
  HostName <host-ip-or-url>
  User <username>
  ProxyCommand ssh -W %h:%p <username>@<proxy-server-ip-or-url>

You can also change the stay alive setting for all entries in the config file by adding it for Host wildcard, like:

Host *
  ServerAliveInterval 60

Host any-name-for-this-entry
  HostName <host-ip-or-url>
  User <username>
  ProxyCommand ssh -W %h:%p <username>@<proxy-server-ip-or-url>

You can also seperate out the first proxy host and the final host and then use alias of entry, like this:

Host *
  ServerAliveInterval 60

Host proxy-jump-host
  HostName <proxy-jump-host-ip-or-url>
  User <proxy-jump-host-username>

Host final-remote-host
  HostName <final-remote-host-ip-or-url>
  User <final-remote-host-username>
  ProxyCommand ssh -W %h:%p proxy-jump-host

Note for windows users: you might have to replace the word ssh in ProxyCommand to ssh.exe

You can also use ssh keys instead of using passwords.


Leave a Reply

Your email address will not be published.