Guide Control Panel

How to use SSH on a hosting account

What SSH access on a shared hosting account actually lets you do, and how to turn it on and connect.

Updated 7 min read Intermediate

SSH gives you a command-line connection to your hosting account from your own computer, instead of working through a browser-based file manager or FTP client. On shared hosting it is a genuinely useful tool for specific jobs — running WP-CLI, using Composer, working with Git, scripting a repetitive task — but it is a scoped, restricted session, not a general-purpose server you can administer freely.

Whether SSH is available depends on your plan

Not every shared hosting plan includes SSH access, and where it exists it is switched off by default until you turn it on. Check the SSH section of your control panel, or your plan's own details, to confirm whether this applies to your account before assuming it is available.

What SSH access on shared hosting actually gives you

A shared hosting SSH session is scoped entirely to your own account. You can navigate and work with your own files, run scripts and command-line tools that operate within your account, and use development tools such as WP-CLI, Composer or Git the way a developer typically would on a proper server. What you cannot do is anything that would affect the server as a whole or another account on it.

You canYou cannot
Navigate and manage your own files from the command lineSee or affect other customers' accounts
Run WP-CLI, Composer, Git and similar toolsInstall system-level packages or services
Run your own scripts within your accountUse sudo or gain root privileges
Use standard commands like cd, ls, cp, mv within your spaceReconfigure the web server or open arbitrary network ports

See can I get root access on shared hosting for why that last restriction exists and is not something any shared hosting provider can offer.

Turning it on

Open the section of your control panel dealing with SSH. Switching access on should give you the connection details you need: a hostname, a port (commonly 22, though some setups use a different one — use whatever your panel actually states), and a username tied to your account.

Connecting

On macOS or Linux, a terminal already includes an SSH client, so connecting is a single command:

ssh yourusername@yourhostname -p 22

On Windows, a dedicated client such as PuTTY is the traditional route, though modern versions of Windows also include a built-in SSH client usable from PowerShell or Command Prompt with the same command shown above.

Use an SSH key instead of a password if your account supports it

An SSH key pair — a private key kept on your computer, a matching public key added to your account — is both more secure and more convenient than typing a password every time, since it cannot be guessed or brute-forced the way a password can. See how to set up SSH keys if your account offers this option.

What you will actually use it for

  • WP-CLI, for managing a WordPress installation from the command line — updating plugins, running searches and replacements, managing users — often faster than the same jobs done through the WordPress admin screen. See how to use WP-CLI on your hosting.
  • Composer, for managing PHP dependencies in a project that uses it, rather than uploading library files manually.
  • Git, for pulling code directly onto the server from a repository, useful if your workflow already revolves around version control.
  • Basic file operations at scale — moving, copying or searching a large number of files is often quicker as a single command than the same job done one click at a time in a file manager.

Keeping it secure

Treat SSH access like any other privileged credential

Whoever has valid SSH access to your account can read, modify or delete anything within it. Use a strong password or, better, an SSH key; do not share connection details over an insecure channel; and if you gave temporary access to a developer or contractor, remove or rotate the credentials once the work is finished.

If a connection fails

  • "Connection refused" or timing out. Confirm SSH is actually switched on for the account, and that you are using the exact hostname and port shown in your control panel.
  • "Permission denied." Check the username and password, or that your SSH key has been added correctly and matches the private key you are connecting with.
  • Commands you expect to work do not exist. A restricted shared-hosting session may not include every command line tool available on a full server — this is expected, and is part of what keeps the environment shared safely between accounts.

If your project has genuinely outgrown what a scoped shared-hosting SSH session can do — needing full root access, custom services, or server-level configuration — that points toward a VPS rather than shared hosting. See can I get root access on shared hosting for that comparison in more detail.

Frequently asked questions

Can I install software with SSH on shared hosting?

You can run tools and scripts within your own account — WP-CLI, Composer, Git, a custom script — but you cannot install system-level packages or services, since that requires root access, which shared hosting does not provide to any customer.

Is SSH access safe to leave switched on permanently?

It is reasonably safe if secured properly — a strong password or, better, an SSH key instead of a password at all. If you only use it occasionally, switching it off between uses removes one more thing that could theoretically be targeted, though this is a minor precaution rather than a necessity.

Related reading