Skip to main content

Managing SSH Access

Connect to your website over SSH

T
Written by Team Pressidium
Updated this week

Feature available on: Pressidium Managed Hosting

The Secure Shell (SSH) Protocol is a cryptographic network protocol for operating network services securely over an unsecured network. It allows you to securely login and execute applications in remote systems. By enabling SSH you can connect to your website via an SSH client and use command line tools like WP-CLI and Composer.

Important: SSH access is an advanced feature intended for experienced users. Actions performed via SSH, such as file modifications, database changes, or WordPress updates, are not covered by our platform's automated Instant Backup policies. (This differs from several actions executed through the Dashboard, which are covered.) SSH access provides full control over your website, and running incorrect commands or commands with incorrect parameters can render your website inoperable.

Prerequisites

SSH access is enabled on demand. Please reach out to our support team to request SSH access activation.

To connect over SSH you will need to:

  • Have an SSH client installed in your local machine.

  • Create and upload your public keys to the Pressidium Dashboard.

  • Enable SSH access for an individual website and environment via the Dashboard.

SSH Client

macOS and Linux usually have an SSH client already installed and available. Execute the ssh --version command in a terminal window to inspect the ssh client version. If an SSH client is not installed you can install one by using the package manager of your distribution (usually bundled with with the openssh-client or equivalent packages).

If you are using Windows we recommend installing and using Git Bash (a shell that comes bundled with Git for Windows) that provides a Windows compatible command line ssh client. Windows Terminal has "out of the box" support for Git Bash. Alternatively you can use a different ssh client with a GUI like MobaXterm or use the built-in SSH client of your IDE (e.g. PhpStorm, WebStorm)

Creating and uploading SSH keys

To connect over SSH you will need to create and upload one or more SSH keys to your account via our Dashboard. Follow our guide at Create and Manage SSH keys to setup your SSH keys.

Enabling SSH access

Before attempting to connect, you have to enable website SSH access via the Dashboard.

Only Team Owners and Team Administrators can enable or disable SSH access for a website.

  1. Select the Websites menu option from the Dashboard sidebar. Tip: You can quickly navigate to a website by using the S keyboard shortcut to bring up the quick search dialog.

  2. Go to your website's overview by clicking on its name.

  3. Select the desired Environment (Production or Staging)

  4. Navigate to the Settings page by clicking the link on the navigation bar.

  5. Locate the SSH Access section.

  6. Click Enable SSH access. You will be prompted to verify your password to continue.

  7. As soon as access is enabled the section will update to display the SSH connection details that must be provided to your SSH client:

    1. SSH Host-name

    2. SSH Port

    3. SSH Username

  8. The SSH section will also display a terminal/command line based connection command as an example. You might need to tweak / modify the command based on your environment and/or SSH client.

After enabling SSH access, all team members with access to this website and SSH public keys set up on their accounts will be able to connect. Each team member has a unique username for the connection (and environment), meaning two team members will have different usernames to connect to the same website.

SSH access is disabled by default, and it is highly recommended to keep it turned off when not in use for extended periods.

Connecting

After completing the public keys setup and enabling SSH access you can connect to the SSH service by using your preferred SSH client. When connecting ensure that you have supplied / configured the correct port, username and hostname (displayed in the SSH settings page).

Important considerations / limitations

  • Password authentication is not supported. You can only connect via SSH using a public / private SSH key pair. Refer to our KB article on how to create and upload a public key to your Dashboard.

  • Several WP-CLI commands that might interfere with our platform integration are disabled / not available in the SSH session.

  • Actions executed through SSH are NOT covered by our automated Instant Backup policies. We strongly recommend manually taking an Instant Backup through the Dashboard before running operations that modify the database or the file system.

  • By default SSH sessions are limited in the amount of CPU that can use to avoid over-consuming system resources.

  • Detaching and attaching to a running background process is not supported. Each SSH session creates a new process environment.

  • Files created, saved, or updated in the document root and its sub-folders (e.g., /mywebsite-www, /mywebsite-dev-www) will persist and remain accessible after the SSH session ends. By default, these files are publicly accessible (unless exceptions such as password protection or another type of access mechanism is configured). Therefore, be cautious not to leave files containing sensitive content (e.g., secrets, credentials or database dumps) exposed. You can use the .pressidium directory to save scripts or files that will be available past the end of the SSH session for future use.

  • Refrain from running heavy, long-running processing tasks (e.g., via WP-CLI) unattended. Ideally, schedule such tasks during off-business hours or split them into smaller batches to avoid over-consuming system resources.

  • Be cautious with tasks that are I/O-intensive or consume significant disk space while running.

  • Inactive or idle SSH sessions might be terminated after a period of inactivity.

  • Long running sessions might be terminated if active for more than 6 hours.

  • The SFTP subsystem is not available. To use SFTP for file management please refer to our article Manage SFTP users.

  • SCP is not supported. If you want to copy / move files to and from your local machine over SSH please use rsync.

Did this answer your question?