SSH Proxy
Generate SSH tunnel, SOCKS proxy and port-forwarding commands, ~/.ssh/config, management scripts and autostart configs — fully client-side.
Build SSH tunnel and proxy commands instead of typing them from memory
SSH Proxy is a command and configuration generator for SSH tunnels, SOCKS proxies and port forwarding. You fill in a few fields — SSH host, user, which ports go where — and the tool assembles the matching ssh invocation, an entry for ~/.ssh/config, a management script or an autostart configuration. The result lands in an editor pane you can copy or download as a file with one click.
One thing to understand up front: the tool only builds text — it does not open an SSH connection and runs nothing. You copy the finished commands and scripts into your own terminal and run them there yourself. That is exactly as it should be, because your credentials, keys and connections stay on your machine.
SSH Proxy is built for anyone who needs SSH port forwarding but doesn't keep the exact flag order in their head: developers who need to reach a database behind a firewall; admins who set up a persistent tunnel as a service; and anyone who wants to spin up a quick SOCKS proxy to browse through a remote server. The tool assembles the right -L/-R/-D/-J specifications, KeepAlive options and reconnect wrappers without slip-ups.
What SSH Proxy does — at a glance
The left-hand sidebar groups the generators into four areas:
- Port Forwarding
- Local Forward (
ssh -L) — forward a local port to a remote service through the SSH server (e.g. a database behind a firewall). - Remote Forward (
ssh -R) — expose a local service on the remote server (e.g. webhook testing). - Dynamic / SOCKS (
ssh -D) — open a SOCKS5 proxy through which all traffic exits at the SSH server. - Jump Host (
ssh -J) — hop through one or more bastion hosts to reach a target on the internal network.
- Local Forward (
- Configuration
- SSH Config — ready-made
Hostblocks for~/.ssh/config. - Proxy Settings — proxy configuration for the shell, the OS and around 20 tools (git, npm, Docker, kubectl, AWS CLI …), with DNS resolved through the tunnel for SOCKS.
- SSH Config — ready-made
- Scripts & Automation
- Management Script — a start/stop/status/restart script (Bash or PowerShell) for your tunnels.
- Autostart Setup — start tunnels at boot (systemd, launchd, Task Scheduler, rc.d or crontab).
- Help
- Troubleshooting — OS-specific diagnostic commands and solutions for common SSH problems.
- Reference — lookup tables: forward types, flags, data-flow diagrams, key generation, multiplexing and tunnel alternatives.
The four tunnel generators show an explanation table below the output that spells out every generated flag in plain language — so you understand what the command does instead of copying it blindly. The tool also checks what you type and lists warnings under the output: invalid ports or host names, ports below 1024 that need root, or a bind address that opens your tunnel to other machines.
Platforms and reconnection
The generators know five target systems — Linux, macOS, Windows (OpenSSH), BSD and WSL — and your choice shapes the output directly. Linux, macOS, BSD and WSL get a Bash script; Windows gets a PowerShell script, with backticks as line continuations, PowerShell-safe quoting and Start-Process -WindowStyle Hidden in place of -f, which Windows OpenSSH doesn't have. Paths containing spaces are quoted properly, and IPv6 addresses in forwards are wrapped in square brackets automatically. Diagnostic commands and autostart mechanisms likewise come in the variant that fits the platform.
For persistent tunnels SSH Proxy also offers auto-reconnect: either via autossh (autossh -M 0) or via a dependency-free retry loop — and on Windows, where autossh doesn't exist, the tool switches to the PowerShell loop on its own. KeepAlive options (ServerAliveInterval/ServerAliveCountMax) are on by default, and background tunnels also get ExitOnForwardFailure=yes, so ssh gives up instead of carrying on without its forward.
Architecture: everything in the browser, no outbound connection
SSH Proxy runs 100% client-side in JavaScript. There is no server backend, no API and no SSH connection — the tool only generates text and renders it in an ACE editor (opens in a new tab); quoting and input checks are handled by a small module of its own, also in the browser. Nothing you enter — hostnames, usernames, key paths — leaves your browser. You never enter keys themselves anyway; the tool only references the path to an identity file. Nothing is stored either: reload the page and the fields are back to their defaults.
Try it now
→ Open SSH Proxy — enter a host and ports, click Generate, copy the command and run it in your terminal. No account, free, right in the browser.
Related JPKCom tools
- IP Tools — inspect addresses, ranges and networks when you set bind addresses or reachable hosts for your tunnels.
- DNS, SSL, Redirect & URL — check a server's DNS resolution and reachability before you build the tunnel.
- Generator — create strong passwords and passphrases, for instance for services around your tunnels.
There's more on the sub-pages: the manual with every generator and option, real-world examples, and collected tips & tricks.