Blog
HostingInfrastructure

SSH Access on TrueCore: Shell Access and the site CLI

Every TrueCore account includes SSH access. Here's how to add your key, what's available in the shell, and how the site CLI exposes the same functionality as the portal from your terminal.

Every TrueCore account includes SSH access. For most customers the portal handles everything, but shell access opens up a set of capabilities that a web interface can't match — scripted deployments, WP-CLI operations, log tailing, and direct file management.

Adding Your SSH Key

In your customer portal, go to the SSH tab. Paste your public key — the contents of ~/.ssh/id_ed25519.pub or ~/.ssh/id_rsa.pub on your local machine.

If you don't have a key pair, generate one:

ssh-keygen -t ed25519 -C "your@email.com"

The public key (ending in .pub) is safe to share — paste that one in the portal. Keep the private key on your machine.

Once your key is added, connect with:

ssh username@yourdomain.com

Your username is shown on the SSH tab in the portal.

The Shell Environment

You land in your web root. Standard tools are available: ls, grep, find, curl, wget, git, rsync, tar. PHP CLI is available and matches your site's configured PHP version.

WP-CLI is pre-installed. If you run WordPress, WP-CLI gives you command-line access to everything in the WordPress admin — and more:

wp core update
wp plugin update --all
wp user create editor editor@example.com --role=editor
wp search-replace 'http://olddomain.com' 'https://newdomain.com' --all-tables
wp db export backup.sql

The wp db export command exports your SQLite database to a standard SQL file — useful for manual backups before major changes.

The site CLI

The site command exposes the same functionality as the customer portal from the terminal. If you can do it in the portal, you can do it with site.

Useful commands:

site status          — health check for your site and services
site ssl renew       — force a Let's Encrypt certificate renewal
site logs nginx      — stream your nginx access log in real time
site email add       — add a new mailbox for your domain

The CLI and portal share the same backend — there's no difference in what they can do, only in how you invoke it. This matters for scripting: if you want to automate adding a mailbox as part of a deployment script, site email add works the same way.

Practical Uses

Deploying code with git — clone your repository to your web root over SSH, then pull updates with git pull. No FTP client needed.

Monitoring in real timesite logs nginx tails your access log live. If you're debugging a 404 issue or watching traffic during a launch, this is faster than downloading log files.

Pre-update backups — use WP-CLI to export your database before a major plugin update:

wp db export pre-update-$(date +%Y%m%d).sql

Fixing permissions — if a plugin or manual file upload creates files with wrong permissions, fix them from the shell without raising a support ticket.

Running scheduled tasks — cron jobs can be set up to run scripts in your account on a schedule. A backup script, a cache-warming script, or a data import that runs nightly all work this way.

SFTP

If you prefer a graphical file manager, SFTP works with the same SSH key. Point your SFTP client (FileZilla, Cyberduck, Transmit) at your domain on port 22, use your SSH username, and authenticate with your key. You'll see the same files you'd see in the shell.

SFTP is slower than rsync over SSH for large transfers, but more convenient for browsing and editing individual files.

Ready for hosting that doesn't oversell?

Get started from £10/mo More articles
Stay in the loop New posts, platform updates, and open chat — join the community.
Join Discord