PyCharm 2022.1 Help

Configure an interpreter using SSH

Prerequisites

  • A ssh server should run on a remote host, since PyCharm runs remote interpreter via ssh-session.

  • If you want to copy your sources to a remote computer, create a deployment configuration, as described in the section Create a remote server configuration.

Configuring remote Python interpreter via SSH credentials

Create a new remote Python interpreter via SSH credentials

  1. Ensure that you have downloaded and installed Python on your computer.

  2. Do one of the following:

    • Click the Python Interpreter selector and choose Add Interpreter.

    • Press Ctrl+Alt+S to open the project Settings/Preferences and go to Project <project name> | Python Interpreter. Click Python interpreter and select Add.

  3. In the left-hand pane of the Add Python Interpreter dialog, click SSH Interpreter.

  4. In the right-hand pane select New server configuration, then specify server information (host, port, and username).

    SSH Interpreter
  5. In the next dialog window, provide the authentication details to connect to the target server.

    SSH password

    Select Password or Key pair (OpenSSL or PuTTY) and enter your password or passphrase. If Key pair (OpenSSL or PuTTY) is selected, specify:

    • Private key file: location of the file with a private key

    • Passphrase: similar to a password, it serves to encrypt the private key.

    The RFC 4716 format for OpenSSH keys is not supported by PyCharm. See the workaround.

    Click Next to proceed with the final configuration step.

  6. In the next dialog window, verify the path to the desired Python interpreter. You can accept default, or specify a different one. You have to configure the path mappings between your local project and the server. To do that, click the Browse button next to the Sync folders field and enter the path to the local project folder and the path to the folder on the remote server.

    Setting SSH mappings

    You can also select the lowest checkbox to enable automatic upload of the local changes to the remote server.

  7. Select the Execute code using this interpreter with root privileges via sudo checkbox to run an SSH interpreter using sudo. The root privileges will be enabled only for launching the remote interpreter. Files will be copied to the remote server with your current user privileges.

  8. Click Finish to complete adding an interpreter.

Create a new a remote Python interpreter using an SSH configuration

  1. Ensure that you have downloaded and installed Python on your computer.

  2. Do one of the following:

    • Click the Python Interpreter selector and choose Add Interpreter.

    • Press Ctrl+Alt+S to open the project Settings/Preferences and go to Project <project name> | Python Interpreter. Click Python interpreter and select Add.

  3. In the left-hand pane of the Add Python Interpreter dialog, click SSH Interpreter.

  4. In the right-hand pane Existing server configuration and choose any available SSH configuration from the list.

    Existing SSH configuration

    You can also create a new SSH configuration in the SSH Configurations dialog.

    new SSH configuration

    Click new configuration and fill the required fields. Once done, the newly created SSH configuration will appear in the list of available configurations. It will also become available in the SSH Deployment Configurations settings.

    Click Next to continue configuring an interpreter.

  5. In the next dialog window, verify the path to the desired Python interpreter. You can accept default, or specify a different one. You have to configure the path mappings between your local project and the server. To do that, click the Browse button next to the Sync folders field and enter the path to the local project folder and the path to the folder on the remote server.

    Setting SSH mappings

    You can also select the lowest checkbox to enable automatic upload of the local changes to the remote server.

  6. Select the Execute code using this interpreter with root privileges via sudo checkbox to run an SSH interpreter using sudo. The root privileges will be enabled only for launching the remote interpreter. Files will be copied to the remote server with your current user privileges.

  7. Click Finish to complete adding an interpreter.

  8. When you change an SSH interpreter, you might need to synchronize local content with the target server. Mind a notification balloon in the lower-right corner.

    Sync local files with the deployment server
    You can click one of the links to perform the following actions:

    • Auto-upload files to the server

    • Synchronize files and then enable auto-uploading

In case of adding an interpreter as a root user, you will be asked to provide your password.

Provide a sudo password

Select Remember to keep using the password for this interpreter even you restart PyCharm. The interpreters added with root privileges are marked with sudo in the list of the available interpreters.

Sudo interpreters

Last modified: 31 March 2022