---
title: Connect to SSH on Pressable
url: "https://pressable.com/knowledgebase/connect-to-ssh-on-pressable/"
published: 2022-10-11
modified: 2026-02-13
author: Wayne McWilliams
---

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](https://developer.wordpress.org/cli/commands/).

## Get SSH Credentials

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

1. From your [my.pressable.com dashboard](https://my.pressable.com/), go to **Sites → Select the site you’d like to access via SSH → Collaborators** 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 on the right side of the **Collaborators** tab. That will be needed for the SSH connection command to connect to the site. See [Connect to SSH](#connect-to-ssh) section below for more details.

![](https://i0.wp.com/pressable.com/wp-content/uploads/2022/10/ssh1.jpg?resize=1024%2C255&ssl=1)
 
 You can also access a site’s SSH details from the **Site Overview → SFTP | SSH Details section**.

![](https://i0.wp.com/pressable.com/wp-content/uploads/2022/10/sftp5.jpg?resize=1024%2C315&ssl=1)
 
 ## Reset an SSH Password

If you forget or lose your SSH password, you can reset it by returning your [my.pressable.com dashboard](https://my.pressable.com/) and navigating to **Sites → Select the site you’d like to access via SSH → Collaborators**, then select the `Reset` button to generate a new one (your SFTP password is also your SSH password):

![](https://i0.wp.com/pressable.com/wp-content/uploads/2022/10/ssh2.jpg?resize=535%2C101&ssl=1)
 
 ## Connect to SSH

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.

## How to Connect to SSH on MacOS and Linux

**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](https://my.pressable.com/), 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.pressable.com`. The full ssh command to use will be `ssh [ssh-username]@ssh.pressable.com`

Example: `ssh i43f0a8a67470674a@ssh.pressable.com`

![](https://i0.wp.com/pressable.com/wp-content/uploads/2022/10/ssh3.jpg?resize=551%2C347&ssl=1)**Step 4:** Paste or type the `ssh` command into your terminal application and press enter/return (`ssh [ssh-username]@ssh.pressable.com`).

- 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](#reset-an-ssh-password).

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

## How to Connect to SSH on Windows

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](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html).
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`
        ![](https://i0.wp.com/pressable.com/wp-content/uploads/2022/10/Screen-Shot-2022-10-07-at-12.02.52.png?resize=667%2C666&ssl=1)
3. If this is your first time connecting, you may receive a prompt to trust the rsa2 fingerprint and host. Click **Yes**.
4. PuTTY will launch a terminal screen. Enter your `SSH Username` and press Enter/return.
5. When prompted, enter your `SSH Password`.

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

## Connect to SSH with an SSH Key

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:

- [Learn how to generate an SSH key with Mac](https://pressable.com/knowledgebase/how-to-create-ssh-keys/#generate-ssh-key-with-mac)
- [Learn how to generate an SSH key with Windows](https://pressable.com/knowledgebase/how-to-create-ssh-keys/#generate-ssh-key-with-windows)
- [Learn how to generate an SSH key with Linux](https://pressable.com/knowledgebase/how-to-create-ssh-keys/#generate-ssh-key-with-linux)

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`:

![](https://i0.wp.com/pressable.com/wp-content/uploads/2022/10/ssh4.jpg?resize=1024%2C376&ssl=1)
 
 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](#get-ssh-credentials)).

To connect via SSH, you still need to use the `ssh username@ssh.pressable.com` as the command to access a site via SSH, but shouldn’t need to enter a password to access the site ([more details here](#connect-to-ssh)).

## SSH Shell Commands & WP-CLI Resources

We have resources that will help with Shell Commands & WP-CLI here:

- [How to use Shell Commands](https://pressable.com/knowledgebase/how-to-use-shell-commands/)
- [How to use WP-CLI](https://pressable.com/knowledgebase/how-to-use-wp-cli/)

## What if Something Goes Wrong?

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](https://pressable.com/knowledgebase/how-to-restore-site-from-backup/).

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

## SSH Connection Limitations

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.

## Disconnect SSH Connections

Customers can now disconnect SSH connections directly from the **Security** tab in the MyPressable Control Panel. If you are a [Collaborator user](https://pressable.com/knowledgebase/how-do-i-add-a-collaborator-guest-account-to-my-site/), the permission needed by a Collaborator to use this functionality is [Manage Performance](https://pressable.com/knowledgebase/how-do-i-add-a-collaborator-guest-account-to-my-site/#updating-user-permissions):

![](https://i0.wp.com/pressable.com/wp-content/uploads/2022/10/ssh5.jpg?resize=1024%2C461&ssl=1)
 
 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.](https://my.pressable.com/documentation/api/v1#disconnect-ssh)

## Run Commands Across Multiple Sites

You can run SSH commands across multiple Pressable sites by using our [Bulk Operations feature](https://pressable.com/knowledgebase/run-bulk-operations-on-your-pressable-sites).

## Frequently Asked Questions

#### 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](https://pressable.com/knowledgebase/how-to-create-ssh-keys/) and then [add the key to your my.pressable.com account](https://pressable.com/knowledgebase/connect-to-ssh-on-pressable/).

#### 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](https://my.pressable.com/documentation/api/v1).
