Jump Proxy

We sometimes need to access another server through a single server (e.g., when there is an IP firewall on the application server, you can access all application servers through a jump server with an IP address on the whitelist).

For example, I have server A as a jump server (IP: 100.100.100.100), and server B as an application server (IP: 200.200.200.200). (Using key-based authentication throughout)

In VS Code settings:

Host jump-server
  HostName 100.100.100.100
  User <jump account>
  IdentityFile "<path to private key>"

Host work-server
  HostName 200.200.200.200
  User <end user account>
  IdentityFile "<path to private key>"
  JumpProxy jump-server

You can directly use the command: ssh -J <jump account>@100.100.100.100 -I "<path to private key>" <end user account>@200.200.200.200

In XShell, you can simply set the "Proxy" option in the session file. In WinSCP, this corresponds to the "Advanced - Tunnel" configuration.