SSH

a plain-language explainer

SSH is a way to sit down at another computer from your own — safely typing commands on a machine across the room or across the world, as if you were right in front of it. It's how people work on faraway servers, and, with a little help, even on a friend's laptop in another country.

Imagine you could sit at your own desk, type on your own keyboard, and have every keystroke land on a computer somewhere else entirely — a server in a data center, or a friend’s laptop on the other side of the world — as though you’d pulled up a chair in front of it. That’s SSH. It’s a secure, private tunnel between your computer and another, through which you can give that other machine commands and see its answers.

The name stands for Secure Shell — “secure” because the whole conversation is locked so no one in between can listen, and “shell” because what you get is that command line we talk about elsewhere, just running on the other computer instead of yours.

What it actually feels like

You type one line that says, in effect, “connect me to that machine, as this user”:

ssh username@the-other-computer

And then — quietly, almost anticlimactically — your prompt changes, and now every command you type runs over there. You ls and you see their files. You’re sitting at your own desk, but working on a computer that might be a thousand miles away. The first time it clicks, it feels a little like magic, and a little like teleportation.

This is how people work on servers — those always-on computers in data centers. You rent a small one (from a company like Hetzner or DigitalOcean, often for a few dollars a month), and SSH is how you walk in and work on it. Your projects can live there, running day and night, and you visit them whenever you like.

The catch: why you can’t just reach any computer

Here’s a puzzle that trips up almost everyone, and it’s worth understanding, because the solution is a lovely one.

You can SSH into a rented server easily — but try to reach your friend’s laptop sitting in their living room, and it just… won’t connect. Why?

Because your friend’s laptop is hiding behind their home router — the box that gives them internet. A router is a bit like an apartment building’s front desk: the whole building has one public street address, but the individual apartments inside have no address the outside world can see. Mail can go out easily, but a stranger on the street can’t address a letter to apartment 4F directly — they don’t know it exists. Your friend’s laptop is apartment 4F. It can reach out to the internet, but the internet can’t reach in to it.

The lovely fix: a private network that ignores walls (Tailscale)

There’s a tool called Tailscale that solves this beautifully. You install it on both computers — yours and your friend’s — and it quietly stitches them into a small private network of their own, as if they were sitting side by side on the same desk, regardless of which routers or walls are between them. Each machine gets a private address the other can always reach.

A real example: the author once helped a friend set up her Mac this way, from far away. Tailscale on both ends gave the two machines a private path to each other. Then SSH let him work on her Mac’s command line directly. And for the parts that needed to see her screen — the actual desktop, the windows, the mouse — a tool called Remmina gave him a live view of her display, as though leaning over her shoulder. Two computers, two countries, working together as one. That’s the quiet power of stitching a private network through the walls.

A small luxury for working remotely: lf

Once you’re working on a faraway computer, moving around its files with bare commands can feel slow. A small, fast tool called lf (it stands for “list files”) gives you a clean, keyboard-driven way to fly through folders, peek at files, and edit them — a gentle visual layer over the command line that makes remote work feel quick and pleasant.

For the curious: a real lf setup

The beauty of tools like lf is that you shape them to your own hands. The author’s own lf is wired so that pressing Enter opens a file in an editor, Ctrl-o fuzzy-finds a file by name with a live preview, Ctrl-s searches inside files, Ctrl-g opens a friendly Git interface, and x extracts archives — each one a tiny custom command added over time.

That’s the spirit of the command-line world: small, sharp tools you quietly file to fit your own grip, until working on a machine far away feels as natural as working on the one in front of you.

So, in one breath

SSH lets you sit at your own computer and work on another one — a rented server, or even a friend’s laptop — through a secure, private tunnel; and where a home router would normally hide a machine from the world, a tool like Tailscale quietly stitches a private path through, so that distance and walls stop mattering and two computers can work together as though they shared a desk.