Best apps for SSH remote development on desktop

An old laptop can drive a fresh build if the build runs on a machine somewhere else. SSH-first remote development is why a thin ultrabook can compile a Rust monorepo without complaint, why a Chromebook can run a full Node stack, and why hotel rooms can host a working day. The best apps for SSH remote development turn a remote host into a first-class workspace, not a terminal session with a code editor sitting on top. We tested seven that people actually use in production teams and on personal home labs.

What to look for in a remote development app

Six criteria decide the fit:

Quick comparison

App Best for Platforms Free plan Starting price Standout
VS Code Remote SSH Broadest ecosystem Win/mac/Linux Free Free Extensions run on the host
JetBrains Gateway IntelliJ / PyCharm users Win/mac/Linux Free client From $8.90/mo Real IntelliJ on the host
Zed Speed and collaboration mac/Linux/Win preview Free Pro $10/mo Sub-16 ms input on LAN
Coder Team-wide environments Web + all clients Free (self-hosted) Enterprise custom Templates for reproducible envs
DevPod Local devcontainers, remote host Win/mac/Linux Free Free devcontainer.json anywhere
Termius Terminal-first workflow Win/mac/Linux/iOS/Android Free $10/mo Snippets and sync across devices
MobaXterm Windows admins Windows Free $69 one-time X11, SFTP, RDP, sessions in one app

The apps

1. Visual Studio Code Remote SSH, best for most people

Visual Studio Code Remote SSH runs the editor client on the laptop and the language server, extensions, terminals, and debugger on the host. Reading ~/.ssh/config is native, so jump hosts and multiple identities work without a rewrite. Port forwarding shows up in a panel with real-time state, and a dev server on the host is reachable at localhost:5173 in the local browser.

Where it falls short: The VS Code server directory can accumulate several gigabytes on the host over time. Reconnect after network drops is fast but not instant.

Pricing: Free, MIT-licensed client, closed-source server.

Platforms: Windows, macOS, Linux (client and server).

Download: Visual Studio Code · Remote SSH extension

Bottom line: The default for a reason. Start here unless a specific requirement rules it out.

2. JetBrains Gateway, best for IntelliJ-family users

JetBrains Gateway is a lightweight client that installs a full IDE backend on the host (IntelliJ IDEA, PyCharm, WebStorm, GoLand, Rider, RustRover) and streams the UI. Indexing runs on the host, so opening a monorepo does not spin a laptop fan. Refactorings, inspections, and the debugger behave the same as the local IDE because they are the local IDE running elsewhere.

Where it falls short: Initial connection is slow (several minutes to index a large repo the first time). Subscription-only for most languages.

Pricing:

Platforms: Windows, macOS, Linux.

Download: JetBrains Gateway

Bottom line: The pick if the team already lives in IntelliJ-family tools. Not worth switching for on its own.

3. Zed, best for speed

Zed is a Rust-based editor with sub-16 ms input on a LAN and a shared collaboration mode that mirrors cursors and terminals across a team. Remote development connects over SSH and runs Zed’s own server on the host. On a fresh Ubuntu box the round trip from keypress to visible character is the fastest of anything here.

Where it falls short: Extension ecosystem is much smaller than VS Code. Debugger support is younger. Some language servers still need manual config.

Pricing:

Platforms: macOS, Linux (stable); Windows in preview.

Download: Zed

Bottom line: If typing latency is the bottleneck and the language stack is mainstream, this is the one to try.

4. Coder, best for team-wide reproducible environments

Coder is a self-hosted control plane that provisions dev environments on servers, Kubernetes, or cloud providers from Terraform templates. Each developer opens the environment in VS Code, JetBrains Gateway, Zed, or a browser IDE. The team defines the base image once; every workspace inherits the exact stack.

Where it falls short: Requires infrastructure to run the control plane. Not the tool for a solo hobbyist.

Pricing:

Platforms: Web plus native clients.

Download: Coder · GitHub

Bottom line: Consider this when onboarding a new engineer to a working environment is more than a two-hour job.

5. DevPod, best for portable devcontainers

DevPod takes a devcontainer.json file and spins the same environment on any host: a local Docker, an SSH server, a Kubernetes cluster, or a cloud provider. It is the open-source counterpart to hosted Codespaces, and it works across VS Code, JetBrains, and browser clients.

Where it falls short: The devcontainer spec is the source of truth; if the project does not have one, DevPod is not the right entry point. Documentation lags feature releases.

Pricing: Free, Mozilla Public License.

Platforms: Windows, macOS, Linux.

Download: DevPod · GitHub

Bottom line: The pick when the same repo has to run on the laptop, the office server, and a cloud provider without divergence.

6. Termius, best for terminal-first workflows

Termius is a modern SSH client with hosts, snippets, port forwards, and SFTP in one interface, synced across desktop and mobile. Anyone who lives in tmux or the raw shell will find this feels like a good text editor for connections. The paid tier adds team sharing of hosts and known snippets.

Where it falls short: Not an IDE. Editing large codebases still means opening vim or nvim on the host. Free tier is limited without an account.

Pricing:

Platforms: Windows, macOS, Linux, iOS, Android.

Download: Termius

Bottom line: For engineers who edit inside nvim or helix on the host and just want the shell to be nicer.

7. MobaXterm, best for Windows admins

MobaXterm bundles SSH, SFTP, RDP, VNC, X11 forwarding, a Cygwin-style local shell, and a session manager into a single Windows executable. It has been the go-to for Windows admins working against Linux fleets for a decade. The free “Home” edition covers most workflows.

Where it falls short: Windows only. UI is dated. Not aimed at code-editing at scale.

Pricing:

Platforms: Windows only.

Download: MobaXterm

Bottom line: Keep this on the Windows workstation that lives at the edge of a Linux fleet. Not a replacement for a real IDE.

How to pick the right one

Default to VS Code Remote SSH. It covers most languages, most workflows, and most laptops, and the ecosystem carries the weight.

Switch to JetBrains Gateway if the day involves large Java, Kotlin, or Go monorepos that already index on JetBrains locally.

Try Zed for a Rust, Go, or TypeScript stack where typing latency is the felt bottleneck.

Pick Coder or DevPod when the goal is that every teammate gets the same environment on day one.

Reach for Termius or MobaXterm when the workflow is closer to sysadmin than to coding.

FAQ

Is SSH remote development slower than local? On a LAN, no. On a decent internet link (RTT under 60 ms) the typing experience is indistinguishable for most editors here. Zed and VS Code Remote SSH remain responsive past 150 ms; the debugger and file sync feel it first.

Does SSH remote work with VS Code extensions? Yes. VS Code Remote SSH installs the extension on the host by default, so language servers, formatters, and linters run on the machine that has the code and the toolchain.

Can I use SSH remote with a Chromebook or an iPad? Yes. Chromebooks in developer mode run the Linux version of any client here. On iPad, VS Code and Zed both have first-party or usable browser paths through code-server or Zed’s browser client.

How do I keep secrets off my laptop? Do not check out the repo locally. Do all work on the host and use SSH agent forwarding for signing. Coder and DevPod both make this pattern the default.

What is the difference between Codespaces and DevPod? GitHub Codespaces is hosted. DevPod is the open-source generalization: it takes the same devcontainer.json and runs it on any host you point it at, including your own server.

Which one works best over a bad hotel Wi-Fi? JetBrains Gateway and Zed handle disconnects better than raw VS Code Remote SSH, because both explicitly design for the streaming case. All three recover once the link is back.