Managing SSH/Shell Access in WHM

Managing SSH/Shell Access in WHM

Depending on the custom package(s) you have created and used for your accounts, some of your users will have Shell access enabled while others will have it disabled.

In this tutorial, we will show you how to manage Shell access (SSH) for the hosting accounts on your server so that you can enable/disable it for each account.

Enable SSH

Log in to your WHM and click Modify an Account in the Account Functions section.

Select the account for which you want to enable SSH and click Modify. Check the option for Shell Access and click Save:

A pop-up window would appear giving you the options to create a new package with the chosen values, to update the current package, to set the account with no package or keep the account on the existing package. Here you should choose the most suitable option and click proceed.

Next you will see a Success message as a pop-up in the bottom right corner.

What you need to do next is to ensure that this is enabled in the Feature Manager as well. You may find it under the Packages section. Just choose the list you want to change and click on the Edit button. This will take you to a page with the available features. Find the SSH Access feature and make sure it is ticked.

Click on the Save button when ready.

From now on the user for whom SSH has been enabled will be able to manage it from cPanel > SSH/Shell Access, located in the Security section

The SSH Access option should be enabled in the Feature List the account uses, otherwise, the SSH/Shell Access tool will not show up at all in cPanel.

Using the SSH/Shell Access tool, the account owner will be able to generate, import and manage SSH keys which are used for SSH authentication.

Note that password authentication is not allowed for security reasons and contact support for the SSH port is as they differ from server to server and location where your server is hosted.

Disable SSH

If you want to disable SSH for a particular account, go to Modify an Account in WHM, select the account and click Modify.

Uncheck the option for Shell Access and click Save.

Make sure to disable it from the Feature Manager as well. You may do that via the Packages section > Feature manager > choose your features list > Edit > remove the tick from SSH Access.

Managing DNS Zones in WHM

Managing DNS Zones in WHM

You can manage the DNS zones of all domains hosted on your account and also edit the zone templates via the DNS functions section.

Let’s start off by explaining what a DNS zone is – it is the administrative part of the domain name system. It is responsible for directing the domain’s traffic to the correct locations.

In other words, a DNS zone is where all DNS records are kept – it is where you tell to what IP a (sub)domain should point, which is the mail server handling the mail for the domain, etc.

Add a new DNS Zone

To add a DNS zone, click the Add a DNS Zone button. You will be redirected to a new screen where you should type in the IP to which the domain should resolve and the domain itself:

Click on the Add Zone button to create the zone on the server.

Edit/Delete an existing DNS Zone

You can edit the zone from the Edit DNS Zone option and if you want to remove it, you can do so from the Delete a DNS Zone option. In both cases you should just select the DNS zone you want to change or remove and click on the Edit/Delete button.

Reset an existing DNS Zone

If you have made changes to a DNS zone and you want to revert it to the default values, use the Reset a DNS Zone option.

Edit MX records

The Edit MX Entry option allows you to configure the email routing for the domains on your server. It will list the mail servers for a particular domain, along with the priority value for each, starting from the one with highest priority. The mail server with highest priority will be the first to handle the email for the domain.

Edit Zone Templates

The Edit Zone Templates option will allow you to edit the default DNS zones used when creating DNS entries. You will not need to use this option, unless you have a custom setup.

Set Zone Time To Live (TTL)

This tool allows you to update the TTL value for all records in a DNS zone at once. If you have multiple DNS servers and do not want the TTL to synchronize across your cluster, select the Do not sync changes across the DNS cluster checkbox.

Park a Domain

Using this tool you may “park” a domain and make it an alias to another one. In the first column select the primary domain and in the second one type in the domain you want to park.

Managing Accounts in WHM

Managing Accounts in WHM

Account Functions is probably the WHM section you will use the most as this is where the actual hosting accounts management takes place.

The Account Functions section includes the following options:

  • Create a New Account – new hosting accounts are created using this menu;
  • Force Password Change – allows you to force any cPanel user to change their password;
  • Limit Bandwidth Usage – here you can change the bandwidth limit of a cPanel user;
  • Manage account suspension – in that menu you can suspend and unsuspend hosting accounts;
  • Manage Demo Mode – this feature allows you to convert any cPanel account on your server to a demo account.
  • Modify an Account – you can modify existing hosting accounts using this option;
  • Password Modification – allows you to change the cPanel password of any of your users;
  • Quota Modification – you can change the disk space limit of a cPanel user from here;
  • Skeleton Directory – the skeleton directory is /home/yourcpaneluser/cpanel3-skel/public_html where yourcpaneluser is your actual cPanel reseller username; you can use this directory to place the same file(s) into every new account’s public_html directory during account creation;
  • Terminate Accounts – you can terminate/delete a hosting account from here;
  • Upgrade/Downgrade an Account – allows you to change the package for an account;
  • Web Template Editor – this tool allows you to create template pages that will appear to anyone who tries to load a site that has not yet been configured, is suspended, has moved, or is experiencing connectivity issues;

Now let’s create a new hosting account. To do this, click on the Create a New Account feature.

You will be taken to the account creation screen where you will have to fill in the details for the new account – domain, username, password, email, package, CGI access, theme, locale, DNS and mail routingsettings:


Most of the options are self-explanatory, but here are a few important things to note:

  • The username cannot be longer than 16 characters; by default, cPanel takes the first 16 characters from the domain name and uses that as the username; this can be changed to something else, but you cannot change the username length.
  • If you click the option Select Options Manually, you will be able to set custom resource options for the account (disk space quota, bandwidth, etc) and even save the new settings as a separate cPanel Package.
  • If you want to configure the account to use the nameservers set at the domain registrar instead of setting the account with the local nameservers of the Cloud, tick the corresponding option in the DNS Settings section.
  • The Mail Routing Settings define how the emails for that account will be managed – locally (by the mail server on the Cloud ), as a backup (emails will be accepted and held until a lower number mail server becomes available) and as a remote exchanger (emails will not be accepted locally and will be sent to the lowest MX record available for the domain). There is an automatic option for mail server detection, but for it to work the MX records for the domain must resolve correctly.

When you are ready to create your new hosting account, click the Create button at the bottom of the screen. If everything is OK, the account will be created successfully and you will see a summary of the new account info:


You can see all available accounts on your Cloud account by clicking the List Accounts option in the Account Information section on the left. In this section you can also list all parked domains, subdomains, suspended accounts and accounts over quota. There is a search option if you want to search through your accounts and an option to view the bandwidth usage of the accounts on the server.

Feature Manager in WHM

Feature Manager in WHM

The Feature Manager allows you to specify what features would be available inside the cPanel of your accounts. You may access it via the Packages section:

This tool allows you to control what features your hosting packages have, which in turn will help you scale your options better and provide more flexible hosting solutions to your clients.

A set of features is called a Feature List. To create a Feature List type a name in the Add Feature List Name field and click on the Add Feature List button:

By default all cPanel features are un-ticked, so let’s enable some features such as Addon domainsAdvanced Zone EditorAliases, etc by checking them:

To save the new feature list, click the Add button at the bottom of the page.

The feature list will be saved as yourcpaneluser_Main where yourcpaneluser is your actual cPanel reseller account.

From now on the feature list will be available for selection when creating or editing new packages.

How to create and manage packages in WHM

How to create and manage packages in WHM

A hosting package is a set of options and features that define a hosting account. Having different packages means you can offer different types of hosting accounts based on their features.

For example, you can create different packages based on disk size quota, maximum number of mail accounts, maximum number of databases, etc.


Add a new package

To create a new package, find the Packages section and click on Add a Package.

Alternatively, you can just type in Add a Package in the search field.

Let’s call the new package Basic and limit the disk space and bandwidth to 1000MB. Place the desired limits on the other resources as well. You can also choose to assign a Dedicated IP, allow Shell access, allow CGI Access (this is enabled by default and we advise you to leave it that way) or enable Digest Authentication at account creation (used for Web Disk access by users with Microsoft® Windows Vista®, Windows® 7, and Windows® 8 operating systems).

You can also change the cPanel theme (we would choose x3 here), choose a Feature List (default in this case) and select a Locale (English in our example).

Here’s what our Basic package looks like:


To save it, click the blue Add button at the bottom of the screen. You should receive a confirmation that the package has been successfully created.


Edit an existing package

To edit a package, click Edit a Package in the Package section.


Then you should select the package you want to edit and click Edit to modify it.


The editing screen will present you with the same options as when creating the package. When you are done with the changes, click the Save Changes button to save the modified package. To revert the applied changes, click the Reset button.

Delete a package

To remove an existing package, you should click Delete a Package, select the package you want to delete and click the Delete button to remove it.


Adding and Managing cPanel Accounts in WHM

Managing accounts within WHM can be very easy if you know where to look. So to begin, we want to identify where to find the account management tools within WHM which are ‘Account Information’, ‘Account Functions’, and ‘Multi Account Functions’. These options can be found on the home screen of WHM as well as on the left hand side of the panel, and the search bar.