Tutorials · DevOps & Containers

How to Reach Remote Sites Safely With an SSH Jump Host

Do not expose SSH on every device. Put one hardened jump host (bastion) in front of the management network and reach everything else through it.

Intermediate12 min6 steps

Before you start

  • A small Linux VM or edge server on the management VLAN
  • SSH keys for each engineer
  • Firewall access to the management VLAN

Step by step

  1. Build the jump host

    Install a minimal Linux, apply updates, create one account per engineer with their public key, and disable password logins.

  2. Allow SSH only to the jump host

    On the gateway firewall, allow TCP 22 from your office or VPN range to the jump host only. Block SSH from the Internet to every other device.

  3. Allow the jump host to the devices

    Inside, allow SSH and HTTPS from the jump host to switches, gateways and edge servers on the management VLAN.

  4. Connect through it

    OpenSSH's ProxyJump makes the hop transparent. Your key is used end to end; nothing is stored on the jump host.

    ssh -J alice@bastion.example.com admin@10.1.99.12
    
  5. Save it in your SSH config

    Add host aliases so every engineer uses the same safe path.

    # ~/.ssh/config
    Host bastion
      HostName bastion.example.com
      User alice
    Host site1-*
      ProxyJump bastion
      User admin
    Host site1-core
      HostName 10.1.99.2
    
  6. Log and limit

    Send the jump host's auth log to your syslog server and add fail2ban or rate limits on port 22.

Commands are generic, industry-standard examples. Exact syntax and menu names vary by model and firmware; check your device's manual on the Documentation page.

Pro tips

  • Put the jump host behind your VPN as well for two layers of protection.
  • Use short session timeouts (ClientAliveInterval 300, ClientAliveCountMax 2).