Connect to SSH on Pressable

SSH, or Secure Shell, is a protocol that allows you to connect to services such as web servers. This allows you to connect to our servers and manage your Pressable website via command-line tools such as WP-CLI.

If you are accessing SSH for the first time, you must create your credentials:

  1. From your my.pressable.com dashboard, go to Sites → Select the site you’d like to access via SSH → and access the Connections Tab to access your site’s SSH options.
  2. Under the Collaborators section you will see the SSH Username and SSH Password details. For the SSH Password, click the Reset button to generate a new password. These credentials will be used for both SSH and SFTP connections.
  3. Store the password in a safe place. If lost or forgotten, the Reset button can be used to generate a new one.
  4. You will also see the SSH/SFTP URL information at the top of the Connections tab. That will be needed for the SSH connection command to connect to the site. See Connect to SSH section below for more details.

If you forget or lose your SSH password, you can reset it by returning your my.pressable.com dashboard and navigating to Sites → Select the site you’d like to access via SSH → Collaborators | SFTP | SSH, then select the Reset button to generate a new one:

To access your site via SSH, you will need your SSH Username, SSH Password, SSH URL, and a terminal program. Below are instructions to connect via some of the most common programs.

Step 1: Open your computer’s terminal application.

    • On MacOS, visit Applications → Utilities on your computer and open the Terminal application.
    • On Linux, please consult your distribution’s documentation for more on opening a terminal window. Some versions may refer to the terminal program as a shell, console, or command prompt.

Step 2: From your my.pressable.com dashboard, go to Sites → Select the site you’d like to access via SSH → Collaborators | SFTP | SSH to access your site’s SSH options.

Step 3: Copy the SSH URL provided for your site. For example, [ssh-username]@ssh.atomicsites.net. The full ssh command to use will be ssh [ssh-username]@ssh.atomicsites.net.

  • Example: ssh pb93bd5bedf591466@ssh.atomicsites.net

Step 4: Paste or type the ssh command into your terminal application and press enter/return (ssh [ssh-username]@ssh.atomicsites.net).
  • If this is your first time connecting, your terminal may prompt that it cannot establish the authenticity of the host. Type yes and press enter/return to proceed.

Step 5: Your terminal should now prompt you to enter a password. Paste or type in the SSH Password provided when creating your SSH credentials and press enter.

    • Note that when entering your password into your terminal application, characters will not appear as you type. This is by design.

    • If your SSH password has been forgotten or lost, it can be reset.

If successful, you should now be connected to SSH and can begin running shell and WP-CLI commands.

Recent versions of Windows, starting with 10, have added SSH support via the Windows Subsystem for Linux as well as the OpenSSH client. Please consult Microsoft’s official documentation for using these methods.

Another option that is available for both current and older versions of Windows is PuTTY.

    1. Download and install the free PuTTY client.
    2. Start PuTTY, configure the Host Name and Port settings, and click Open
    • Host Name should be set to sftp.pressable.com

    • Port should be set to 22

    1. If this is your first time connecting, you may receive a prompt to trust the rsa2 fingerprint and host. Click Yes.
    2. PuTTY will launch a terminal screen. Enter your SSH Username and press Enter/return.
    3. When prompted, enter your SSH Password.

If successful, you should now be connected to SSH and can begin running shell and WP-CLI commands.

You can avoid the need to enter a password by generating an SSH key for your device and then adding it to your my.pressable.com account:

For security reasons, only the following key types and lengths are allowed

  • ssh-rsa keys from 2048 to 16384 bits
  • ecdsa-sha2-nistp256 keys of 256 bits
  • ssh-ed25519 keys of 256 bits

Once you generate an SSH public and private key using the information in the links above, you can then add your public key to your Pressable account by logging into my.pressable.com and then navigating to Profile > Settings > SSH Keys

Once your SSH key is added to your Pressable account, you can use that along with your SSH Username to log into a site that you have SSH access to, instead of needing to use your SSH Password (more details here).

To connect via SSH, you still need to use the ssh username@ssh.atomicsites.net as the command to access a site via SSH, but shouldn’t need to enter a password to access the site (more details here).

If something happens to your site after you’ve made changes via SSH, or if you run a command and something happens you didn’t expect, you can restore your site from a backup.

We will NOT be able to help you debug your command to make it work as expected.

To ensure the proper functioning of your website and protect it from potential abuse by users (whether intentional or accidental), as well as to safeguard against inadvertent abuse by yourself, our service incorporates several limitations. These limitations are inherent in the way the service operates.

  • Commands: In order to provide a secure and performant environment, Pressable may restrict or disable certain shell and WP-CLI commands.
  • Root: Root access is not provided. Pressable’s SSH access is for the general management of the WordPress environment and file system and is not intended for other purposes that would require root permissions.
  • Wall Clock Time: Each session is restricted to a maximum execution time of 8 hours. After 8 hours, any ongoing processes will be automatically terminated.
  • Memory Usage: A session is not permitted to consume more than a total of 1GB of RAM for all the processes running within that session.
  • Process Limits: Sessions are constrained from spawning more than 25 processes. It’s worth noting that this limit may sometimes catch users off guard. For example, consider a bash script that performs a sequence of commands like wp command | grep something | cut -f1 | sort | uniq. In reality, this script involves a total of 8 processes: one for the login shell, one for the bash script itself, one for wp (assuming it doesn’t spawn additional processes), one for grep, one for cut, one for sort, and finally one for uniq. This limitation serves to prevent both resource exhaustion and unintentional recursive code.
  • Disconnected Processes: Although you can execute background processes while logged in through a shell, leaving processes running and then disconnecting from the services will result in the termination of all those processes. This holds true regardless of the method used (such as nohup, etc.).
  • Concurrency: The number of end-user connections to a particular site is limited to 10, regardless of the username associated with those connections. Thus, 10 connections from a single username are treated no differently than one connection each from ten different usernames.

Customers can now disconnect SSH connections directly from the Advanced tab in the MyPressable Control Panel. If you are a Collaborator user, the permission needed by a Collaborator to use this functionality is Manage Performance:

If you are getting a “Remote side unexpectedly closed network connection” message, disconnecting all SSH Connections and then attempting to reconnect will resolve that.

Keep in mind that this should NOT be used if there are active connections and needed scripts and processes running, as those processes would also be stopped.

This feature has also been extended to our API.

You can run SSH commands across multiple Pressable sites by using our Bulk Operations feature.

Can I get support for using command line tools?

Due to the complex nature of SSH and WP-CLI, we are not able to provide extensive support for using these tools. Our Support Team is available to help with issues connecting via SSH but cannot guide you through using commands.

Can I have root access?

No, root access is not provided. Pressable’s SSH access is for the general management of the WordPress environment and file system and is not intended for other purposes that would require root permissions.

Are all commands available?

In order to provide a secure and performant environment, Pressable may restrict or disable certain shell and WP-CLI commands.

Can I set my own SSH password?

The SSH Username and SSH Password are generated by the system automatically. These are unique to each site. If you have multiple sites, you’ll need to use multiple usernames and passwords, one for each site.

If you’d like to use your own password, you can generate an SSH Key and then add the key to your my.pressable.com account.

What if I need to SSH into multiple sites?

Because ssh users exist on a per-site, not a per-account basis, you will need different credentials for each site. You can automate getting SFTP user credentials with the Pressable API.