Enable SSH for a customer's account
Grant SSH access to a cPanel account from WHM, either for one account or for every account on a package.
Give a customer's cPanel account command-line access. Applies to reseller accounts with WHM.
SSH is off by default on new accounts. Enable it for a single account, or for every account on a package.
SSH gives full read and write access to that account's files. Enable it only for customers who have asked and who need it — a compromised account with SSH is considerably more useful to an attacker than one without.
For one account
- Sign in to WHM.
- Search for Modify an Account.
- Select the account.
- Under Privileges, tick Shell Access.
- Select Save.
The change takes effect immediately.
For every account on a package
Better if you sell a plan that includes SSH — new accounts then get it automatically rather than each needing a manual change.
- In WHM, search for Edit a Package.
- Select the package.
- Under Settings, set Shell Access to enabled.
- Select Save Changes.
Editing a package changes what new accounts get. Existing accounts on that package are not updated retroactively — use Modify an Account for those, or re-apply the package under Upgrade/Downgrade an Account.
Check it worked
Ask the customer to connect, or test it yourself:
ssh theircpaneluser@theirdomain.com -p 22They can then follow Connect over SSH for key setup and troubleshooting.
Jailed versus normal shell
WHM offers both. Jailed shell confines the user to their own home directory and is the right default for a hosting customer — they get the tools they need without visibility of the wider filesystem. Normal shell is rarely appropriate on a shared server.
Related
Create a reseller account in WHM
Create a WHM reseller account for a customer from a VPS or dedicated server with root access, and give them their own WHM login.
Add a server to WHMCS
Connect your WHMCS installation to a WebGee reseller or VPS server using a WHM API token, so it can create and manage cPanel accounts automatically.