Guides
How to get a shell on a Linux machine you cannot open a port to.
Start here
-
SSH behind a firewall, without port forwarding
Why the router is not yours to configure, and three ways around it.
-
SSH to a device behind CGNAT
How to tell you are behind it, and what still works.
-
Remote SSH for a fleet of Raspberry Pis
Which agent build each Pi takes, and what to check first.
By network
-
Through a customer's firewall: what to ask their IT
The one outbound rule, and the two settings that break shells.
-
On a 4G or LTE router
Measured traffic and shell latency on a slow link.
-
Behind CGNAT or Starlink
Why no router setting lets a connection in.
By operating system
-
Debian and Ubuntu
Packages, the systemd unit and what we test.
-
Alpine Linux
Packages, the OpenRC service and the 32-bit ARM run.
-
Buildroot and BusyBox init
OpenSSH instead of Dropbear, the init script, a read-only root.