On this page
Using SSH on Kualo hosting: a getting-started guide
SSH (Secure Shell) gives you direct command-line access to your Kualo hosting account, making it an essential tool for running CLI utilities, debugging cron jobs, and working with developer tools that have no graphical interface.
SSH (Secure Shell) gives you direct command-line access to your Kualo hosting account, making it an essential tool for running CLI utilities, debugging cron jobs, and working with developer tools that have no graphical interface.
What you need before you start
To connect over SSH you need:
- An active Kualo hosting account with SSH access enabled (see below)
- A terminal application or dedicated SSH client on your computer
- Your cPanel username and password, or an SSH key pair
- The correct SSH port for your server (contact our support team to confirm this, as we use a non-standard port)
We do not use the default SSH port 22. Contact our support team before your first connection and they will confirm the correct port for your server.
Enabling SSH access in cPanel
SSH access is not enabled by default on all accounts. To turn it on:
- Log in to cPanel. If you are unsure how, see our guide on how to log in to cPanel.
- Scroll to the Security section and click SSH Access.
- Click Manage SSH Keys if you want to use key-based authentication (recommended - see below), or simply confirm that shell access is enabled for your account.
- If shell access shows as disabled, raise a support ticket and ask us to enable it.
Choosing an SSH client
We recommend using a proper, dedicated SSH client rather than the terminal emulator built into cPanel. The cPanel terminal is less reliable, can time out unexpectedly, and lacks the features you need for comfortable day-to-day use.
On macOS, the built-in Terminal application works well. Open it and use the ssh command directly - no extra software is needed. If you want a more feature-rich experience, iTerm2 is an excellent third-party terminal emulator for macOS with split panes, search, and extensive customisation.
On Linux, the built-in terminal works well. Open it and use the ssh command directly - no extra software is needed.
On Windows, good options include:
- Windows Terminal with OpenSSH - built into Windows 10 and 11; the simplest option if you are already comfortable with the command line
- PuTTY - a long-established, free SSH client with a straightforward graphical interface; download it from putty.org
- MobaXterm - a more feature-rich option that combines SSH, SFTP file browsing, and a tabbed interface in one application; download it from mobaxterm.mobatek.net
- Termius - a cross-platform client with a clean interface, useful if you manage connections to multiple servers; download it from termius.com
Connecting to your account
The basic SSH command takes this form:
ssh -p PORT [email protected]
Replace PORT with the port our support team confirmed, username with your cPanel username, and yourdomain.com with your domain name or server hostname.
For example:
ssh -p 2222 [email protected]
On your first connection, your SSH client will ask you to confirm the server's host key fingerprint. Type yes to accept it and continue. You will then be prompted for your cPanel password.
If you connect regularly, save the connection details in your SSH client so you do not have to type them each time. In PuTTY, use the Saved Sessions feature. In Terminal on macOS, you can add an entry to ~/.ssh/config (see the SSH keys section below for an example).
Basic commands to get you started
Once you are connected, your session starts in your home directory. Here are the commands you will use most often:
# Show your current directory
pwd
# List files and folders
ls -la
# Change directory
cd public_html
# Go up one level
cd ..
# View a file
cat wp-config.php
# Edit a file with the nano editor
nano wp-config.php
# Check disk usage for the current directory
du -sh *
# Show running PHP version
php -v
# Exit the SSH session
exit
Your website files live in ~/public_html for your primary domain. Addon domain files are typically in their own subdirectory under your home folder.
Setting up SSH keys
SSH keys are a more secure and more convenient alternative to password authentication. Instead of typing a password each time, your client presents a cryptographic key that the server verifies automatically. This is particularly valuable if you manage more than one hosting account, such as a reseller managing multiple client sites, because you can reuse the same key pair across all of them.
Generate a key pair
On macOS, Linux, or Windows with OpenSSH, run:
ssh-keygen -t ed25519 -C "[email protected]"
Accept the default file location (~/.ssh/id_ed25519) or specify your own. Set a passphrase when prompted - this protects the private key if your computer is ever compromised.
This creates two files:
~/.ssh/id_ed25519- your private key (never share this)~/.ssh/id_ed25519.pub- your public key (this is what you upload to the server)
Add the public key to cPanel
- In cPanel, go to Security > SSH Access > Manage SSH Keys.
- Click Import Key.
- Give the key a name, paste the contents of your
.pubfile into the Public Key field, and leave the Private Key field empty. - Click Import.
- Back on the key list, click Manage next to your new key and then Authorise to activate it.
Connect using your key
ssh -p PORT -i ~/.ssh/id_ed25519 [email protected]
To avoid typing the port and key path every time, add a block like this to ~/.ssh/config:
Host mysite
HostName yourdomain.com
User username
Port PORT
IdentityFile ~/.ssh/id_ed25519
You can then connect with simply:
ssh mysite
If you are a reseller or if you manage several Kualo cPanel accounts, add a separate Host block for each one. This makes switching between accounts fast and avoids any risk of connecting to the wrong server.
What you can do over SSH
With SSH access established, you can:
- Run Composer to manage PHP dependencies
- Install and use Grunt and other build tools
- Create and manage Node.js applications from the command line
- Monitor Redis with redis-cli
- Debug cron jobs by running them manually - see our guide on how to configure cron jobs
- Access MySQL remotely via an SSH tunnel
- Profile slow PHP requests with Xdebug
Troubleshooting connection problems
Connection refused or timed out - the most common cause is using the wrong port. Double-check the port with our support team.
Permission denied (publickey,password) - if you are using key authentication, confirm that the key has been authorised in cPanel (not just imported). If you are using a password, check your cPanel credentials are correct.
Host key verification failed - this can happen if you have connected before and the server's key has changed legitimately (for example, after a server migration). Remove the old entry from ~/.ssh/known_hosts and reconnect.
If you are still stuck after working through these steps, raise a support ticket and we will help you get connected.