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.
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.
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 can | You cannot |
|---|---|
| Navigate and manage your own files from the command line | See or affect other customers' accounts |
| Run WP-CLI, Composer, Git and similar tools | Install system-level packages or services |
| Run your own scripts within your account | Use sudo or gain root privileges |
Use standard commands like cd, ls, cp, mv within your space | Reconfigure 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.
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
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
No, shared hosting is a server shared between many customers, so nobody gets root on it.
How to set up SSH keys for your hostingGenerate a key pair, add the public half to your hosting account, and connect over SSH without a password from then on.
How to use WP-CLI on your hostingManage updates, plugins, users and search-and-replace from the command line over SSH, faster than clicking through the dashboard for the same job.
A tour of your hosting control panelThe main sections you will find in your control panel and roughly what lives in each one.