If you have ever needed to run a WordPress command, unzip a large backup, or fix a plugin that broke the site editor, you already know how limited FTP feels. It moves files one at a time and gives you no way to actually run anything on the server. SSH solves that problem by giving you a proper command-line connection to your hosting account.
In most sites I build, SSH is the first thing I set up once hosting is live, well before I install a single plugin. It turns tasks that would take twenty minutes of clicking through a file manager into a single line typed into a terminal.
Which Hosting Plans Actually Include SSH
Not every shared hosting plan includes SSH, and the cutoff usually sits higher than beginners expect. On Hostinger, for example, SSH access is only available from the Business shared-hosting tier upward — it isn’t offered on the entry-level plans at all, and where it is offered it’s restricted to your own home directory rather than full server access, which is a reasonable security boundary on a shared server where other customers’ sites live alongside yours. Other budget hosts follow a similar pattern: SSH is a mid-tier-and-up feature, not a given on the cheapest plan. Managed WordPress hosts (Kinsta, WP Engine, Cloudways) tend to include it by default across their plans instead of gating it by tier.
Log into your hosting control panel and look for a section called SSH Access, Terminal, or Remote Access. If you can’t find it, that’s a real signal your current plan doesn’t include it — check your host’s plan comparison page before assuming it’s just hidden in a menu somewhere.
What SSH Actually Changes Day to Day
Instead of downloading a plugin folder, editing it locally, and re-uploading it through FTP, you can edit directly on the server or run a single command to fix file permissions across an entire directory. Large tasks that would time out in a browser, like extracting a multi-gigabyte backup archive, finish in seconds from the command line.
It also opens the door to WP-CLI, the official WordPress command-line tool. With WP-CLI over SSH you can update plugins, search and replace text across the database, or reset a locked-out admin password, all without touching wp-admin. For anyone managing more than one WordPress site, this is where most of the real time savings come from.
There is also a troubleshooting angle. If a plugin update leaves the site showing a blank white screen, you often cannot get back into wp-admin to fix it. Over SSH, you can rename the plugin’s folder directly on the server, which instantly deactivates it and brings the site back, without ever needing dashboard access.
Generate an SSH Key Pair
SSH keys are far more secure than a password alone, and most hosts recommend or require them. On Mac, Linux, or Windows 10 and later, open a terminal and run:
ssh-keygen -t ed25519 -C "your-email@example.com"
Ed25519 is the algorithm worth defaulting to over the older RSA — it produces a much shorter key for equivalent or better security and generates almost instantly, versus the noticeable pause RSA can take at higher bit lengths. Press enter to accept the default file location, then set a passphrase when prompted. This creates two files: a private key that stays on your computer and a public key ending in .pub that you will upload to your host. If your specific host’s SSH implementation is older and doesn’t support ed25519 yet, fall back to ssh-keygen -t rsa -b 4096 instead.
Add the Public Key to Your Hosting Account
In your hosting control panel’s SSH section, there is usually a field to paste your public key or a button to manage authorised keys. Open the .pub file in a text editor, copy the entire contents, and paste it in. Some hosts generate the key pair for you instead and let you download the private key directly, which works just as well.
Connect With an SSH Client
Your host’s SSH panel will show connection details: a hostname, port number (often 22, sometimes a custom port), and username. From a terminal, connect with:
ssh username@yourserver.com -p 22
If you prefer a graphical tool, PuTTY on Windows or Termius on any platform both work well and save your connection details for next time. The OpenSSH manual pages are a good reference if you want to understand exactly what each connection option does.
Once connected, navigate to your WordPress root folder and run ls -la to list the files. Seeing wp-config.php and the usual WordPress folders confirms you are in the right place. On shared hosting where SSH is restricted to your home directory, run pwd first — some accounts drop you into a parent folder above the actual WordPress install, and you’ll need to cd into the right subdirectory before anything else makes sense.
Practical Tips
- Install WP-CLI once you have SSH working. A command like
wp plugin update --allupdates every plugin on a site in seconds, which is especially useful after setting up scheduled maintenance tasks. - Save your connection details in your SSH client rather than retyping the hostname and username every time.
- Use a passphrase-protected key and an SSH agent so you are not typing your passphrase on every connection.
- If a command feels unfamiliar, run it with a smaller, low-risk file first rather than testing it directly on your live wp-content folder.
- Keep a plain-text note of your host’s SSH port and hostname somewhere safe. Some hosts use a non-standard port, and forgetting it is a common reason people give up on SSH after the first setup.
Common Mistakes
- Sharing a private key file. The private key should never leave your computer or be sent by email; only the public key gets shared with your host.
- Running destructive commands without a backup. SSH gives you the power to delete or overwrite files instantly, so always confirm you have a recent backup before running anything unfamiliar.
- Leaving SSH enabled with a weak password when key-based login was available. If your host supports keys, disable password authentication entirely once your key is working.
- Assuming your current plan includes SSH. On budget shared hosting especially, it’s a specific tier feature — check before you spend time generating keys for an account that can’t use them yet.
When to Bother With This vs Sticking to FTP
SSH is worth setting up if you manage more than one site, run WP-CLI, or regularly handle large files that make FTP painful. If you only ever touch a site through the WordPress dashboard and never need to work with raw files, the extra setup may not be worth your time, and FTP or your host’s file manager will cover the basics fine. For anyone following the step-by-step guide to building a WordPress website from the ground up, SSH is worth adding once the core site is live and stable, not on day one.
SSH takes a few minutes to set up and pays for itself the first time you need to fix something quickly on a live site. Generate a key pair, add it to your host, and get comfortable with a handful of basic commands before you need them in an emergency.

Etienne Basson works with website systems, SEO-driven site architecture, and technical implementation. He writes practical guides on building, structuring, and optimizing websites for long-term growth.