WHM & reselling

Manage shell access for cPanel accounts in WHM: jailed vs normal (root guide)

Decide which cPanel users get SSH, choose between jailed shell, normal shell and CageFS, enable or disable shell per account in WHM, and keep shell access secure.

AdvancedWHM (root)2 min read

SSH access lets customers use Git, Composer, WP-CLI and other tools directly on the server. It is also a powerful entry point if an account is compromised. WHM lets you choose per account whether there is shell access at all and what kind.

MdmHost decides shell policy on its hosting plans. This guide is for administrators of their own cPanel server.

Before you start

  • Root access to WHM.
  • A policy: which plans include SSH, and whether users need key-based login only.

Shell types

TypeWhat the user seesUse for
DisabledNo SSH loginMost basic hosting plans
Jailed shellA restricted environment with limited view of the systemStandard servers without CloudLinux
Normal shellFull shell as the userTrusted users; on CloudLinux, CageFS still isolates them

On CloudLinux servers, CageFS provides strong isolation for any shell type (see managing CageFS).

Change shell access per account

  1. Go to WHM → Account Functions → Manage Shell Access.
  2. Find the account and choose Disabled, Jailed Shell or Normal Shell.
  3. The change applies immediately.

Also make sure the package's feature list includes or excludes SSH Access and Terminal accordingly (see Feature Manager).

Default for new accounts

In Create a New Account and in packages, the Shell Access option sets the default. Tweak Settings controls whether jailed shell is used by default for new accounts (see Tweak Settings).

Warning: Resellers should not grant shell access freely. Restrict the reseller privilege for shell accounts to trusted resellers (see the reseller ACL guide).

Secure SSH for users

  • Encourage SSH keys (users add them in cPanel → Security → SSH Access).
  • Keep brute-force protection active (see cPHulk).
  • Consider disabling password logins server-wide once users use keys (see Security Advisor).

Troubleshooting

User has shell access but login fails

The IP may be blocked, the user may be connecting to the wrong port, or the key is not authorised in cPanel.

Tools missing in the shell

Jailed shells and CageFS show only selected tools. Add safe tools to CageFS, or use normal shell with CageFS.

Frequently asked questions

Is the cPanel Terminal the same as SSH?

Terminal in cPanel opens a shell in the browser with the same permissions as the user's SSH access.

Can I allow SFTP without shell?

cPanel ties SFTP to shell access. FTPS is the alternative for users without shell.

Does shell access affect CloudLinux limits?

Processes started from the shell run inside the user's LVE and count toward their limits.

How do I list accounts with shell access?

Manage Shell Access in WHM shows each account's shell type. From SSH, check the login shell in /etc/passwd.

Should resellers get shell?

Only if they need it for their own work. Their customers' shell access is controlled separately per account.

Was this guide helpful?

Still stuck?

Ask MdmHost AI for a quick answer, or open a ticket and our team will take a look. We are here 24/7.