Websites and Tech

SSH (Secure Shell)

Also called SSH, secure shell, SSH access

An encrypted way to log in to a web server and run commands on it remotely, used by developers for updates, migrations and fixes.

Quick facts: SSH (Secure Shell)

Category
Websites and Tech
Also called
SSH, secure shell, SSH access
Level
Advanced
Affects
Server security, migrations, deployments, data protection
Where to see it
Terminal or PuTTY, your host's SSH key manager, WP-CLI, server access logs
In this article4
  1. How SSH works
  2. Why it matters
  3. Common mistakes
  4. How to act on it

SSH (Secure Shell) is an encrypted method for logging in to a remote computer, usually your web server, and running commands on it as if you were sitting in front of it. Developers use it to update software, move files, run backups and fix problems that the hosting dashboard cannot reach.

How SSH works

An SSH client on your computer opens a connection to an SSH server running on the host, by default on port 22. Before anything else happens, the two sides agree an encryption key, so every command and response that follows is scrambled for anyone listening on the network. The server then checks who you are.

There are two common ways to prove identity. Password login is the simplest, but passwords can be guessed or stolen. Key-based login is stronger: you generate a key pair, keep the private key on your own machine, and place the public key on the server. When you connect, your computer proves it holds the matching private key by signing data the server can check, so the secret itself never crosses the network. Modern setups use Ed25519 keys, and the private key should be protected by its own passphrase.

SSH also carries other tools. SFTP, the secure way to transfer files, runs over an SSH connection. Developers use SSH to pull code from version control onto the server, and on WordPress sites the WP-CLI command-line tool lets them update plugins, search and replace URLs in the database or export content in seconds.

Why it matters

Some jobs are slow, risky or impossible through a hosting control panel. A site migration that moves a large database, a bulk change to thousands of URLs after a restructure, or a server-side redirect rule all go faster and more reliably over SSH. Many entry-level shared hosting plans restrict or disable it, while a virtual private server gives full access. If your developer keeps saying “the host won’t let me”, this is often why.

SSH access is also the master key to the server. Anyone with a working key can read customer data stored in the database, replace pages or plant malware. Under UK GDPR you are expected to keep personal data secure, which includes knowing who can reach the server it sits on. A key left behind by an agency you stopped working with three years ago is exactly the kind of gap that causes trouble.

Common mistakes

  • Leaving password login switched on. Servers with SSH open to the internet receive constant automated login attempts. Keys plus disabled password login removes that whole class of attack.
  • Sharing one account or key between several people. When someone leaves, you cannot remove their access without locking everyone out, and you cannot tell who did what.
  • Never auditing authorised keys. Old freelancers and agencies keep access long after the contract ends.
  • Logging in directly as root. A mistyped command as the all-powerful user can wipe the server. Use a named account with limited rights and switch to full admin rights only for the task that needs them.
  • Emailing private keys. A private key should never leave the machine of the person it belongs to.

How to act on it

Ask your host or developer three questions: whether SSH is enabled, which named people hold keys, and whether password login is turned off. Ask for each person to have their own key, and remove keys when a working relationship ends, the same way you would collect an office key. If your host offers it, restrict SSH to known IP addresses.

The same rule applies to anyone doing technical SEO work that needs server access: give them their own key for the length of the job, never a shared password, and revoke it when the work ends.

Do and do not

Do

  • Use key-based login with a passphrase
  • Give each person their own key
  • Remove keys when a contract ends

Do not

  • Leave password login switched on
  • Share one root login between people
  • Send private keys by email

Questions people ask about this

Do I need SSH access for my website?

Not if your site is small and your developer can do everything through the hosting dashboard. It becomes valuable for migrations, bulk database changes, server-level redirects and troubleshooting errors that the dashboard does not show. If you are choosing a host for a growing site, check that SSH is available even if you do not need it yet.

Is SSH the same as SFTP?

They are related but different. SSH is the encrypted connection and the command-line login; SFTP is a file transfer method that runs over that connection. If your host gives you SSH, you can usually use SFTP with the same credentials, and both are far safer than plain FTP.

How do I give a developer SSH access safely?

Ask them to send you their public key, which is safe to share, and add it to a named account for them on the server or through your host's control panel. Never send them your own private key or a shared root password. Remove their key as soon as the job is finished.

Related terms

Found this useful?

Share it, or ask an AI to summarise it

Back to the glossary

Knowing the term is the easy part

Applying it to your own site and budget is the work. Book a call and I will tell you what actually applies to you.