# Create SSH configurations

> **TL;DR**
> Required plugins: FTP/SFTP/WebDAV Connectivity (bundled)

In CLion, you can save the remote server SSH connection parameters as a dedicated SSH configuration. The created configuration can be then used for [configuring remote
interpreters](null),  [connecting to SFTP deployment servers](creating-a-remote-server-configuration.html), or [launching SSH sessions](running-ssh-terminal.html).

Procedure:

1. In the Settings dialog (`Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `⌘ Comma` (Xcode), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (ReSharper), `⌘ Comma` (ReSharper (macOS)), `Ctrl+Alt+S` (QtCreator), `⌘ Comma` (QtCreator (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))), go to `Tools | SSH Configurations`.

2. In the left-hand pane that lists all the existing SSH configurations, click ![Add item](https://resources.jetbrains.com/help/img/idea/2026.2/app.expui.general.add.svg).

3. ![SSH configurations dialog](https://resources.jetbrains.com/help/img/idea/2026.2/cl_ssh_configs_dialog.png)

Use the Visible only for this project checkbox   to enable reuse of this server access configuration in other projects.

* Select the checkbox to restrict the use of the SSH configuration to the current project. Such SSH configuration cannot be reused outside the current project. It does not appear in the list of available configurations in other projects. The SSH configurations are stored in the `.idea` directory together with the project, which allows sharing them between team members [through a VCS](version-control-integration.html).

* When the checkbox is cleared, the SSH configuration is visible in all CLion projects. Its settings can be reused across several projects.

4. In the Host, Username, and Port fields, specify the connection parameters.

5. Choose the way to authenticate to the server. Do one of the following:

* Password: Access the host with a password. To save the password in CLion, select the Save password checkbox.

* Key pair (OpenSSH or PuTTY): Use [SSH authentication](https://www.ssh.com/) with a key pair. To apply this authentication method, you must have a private key on the client machine and a public key on the remote server. CLion supports private keys that are generated with the [OpenSSH](https://www.openssh.com/) utility. Specify the path to the file where your private key is stored and type the passphrase (if any) in the corresponding fields. To have CLion remember the passphrase, select the Save passphrase checkbox.

* OpenSSH config and authentication agent: Use a credentials helper application that manages your SSH keys, such as [ssh-agent](https://en.wikipedia.org/wiki/Ssh-agent) or [Pageant (Windows only)](https://the.earth.li/~sgtatham/putty/0.70/htmldoc/Chapter9.html#pageant). > **Tip:** > If you have both OpenSSH ssh-agent and Pageant running, only ssh-agent will be used, even if it does not contain any keys.

For more information about working with SSH keys, refer to the [Generating a new SSH key and adding it to the ssh-agent](https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/) tutorial.

6. Click the Test Connection button to make sure that the settings are correct and CLion can connect to the target server.

> **Note:**
> Note that the created SSH server configuration is not yet a  [deployment server configuration](deploying-applications.html). If you need to deploy applications to a remote SSH server, you need to create a deployment server configuration of the SFTP type. For details, see [Remote server configuration](creating-a-remote-server-configuration.html).

> **Tip: OpenSSH logs**
> SSH connections in CLion run via [OpenSSH](https://www.openssh.com/), which maintains comprehensive logs both on the client and on the server. The exact location depends on your operating system.
>
>
>
> For example, in Linux distributions that are based on Fedora, you should be able to see the logs by running `journalctl -u ssh`.

## Supported OpenSSH directives

* [AliveInterval](https://man.openbsd.org/ssh_config#ServerAliveInterval)

* [ClearAllForwardings](https://man.openbsd.org/ssh_config#ClearAllForwardings)

* [Compression](https://man.openbsd.org/ssh_config#Compression)

* [ConnectTimeout](https://man.openbsd.org/ssh_config#ConnectTimeout)

* [ForwardAgent](https://man.openbsd.org/ssh_config#ForwardAgent)

* [ForwardX11](https://man.openbsd.org/ssh_config#ForwardX11)

* [ForwardX11Trusted](https://man.openbsd.org/ssh_config#ForwardX11Trusted)

* [GSSAPIAuthentication](https://man.openbsd.org/ssh_config#GSSAPIAuthentication)

* [HashKnownHosts](https://man.openbsd.org/ssh_config#HashKnownHosts)

* [Host](https://man.openbsd.org/ssh_config#Host)

* [Hostname](https://man.openbsd.org/ssh_config#Hostname)

* [IdentitiesOnly](https://man.openbsd.org/ssh_config#IdentitiesOnly)

* [IdentityAgent](https://man.openbsd.org/ssh_config#IdentityAgent)

* [LocalForward](https://man.openbsd.org/ssh_config#LocalForward)

* [PreferredAuthentications](https://man.openbsd.org/ssh_config#PreferredAuthentications)

* [ProxyCommand](https://man.openbsd.org/ssh_config#ProxyCommand)

* [RemoteForward](https://man.openbsd.org/ssh_config#RemoteForward)

* [ServerAliveCountMax](https://man.openbsd.org/ssh_config#ServerAliveCountMax)

* [StrictHostKeyChecking](https://man.openbsd.org/ssh_config#StrictHostKeyChecking)

* [UserKnownHostsFile](https://man.openbsd.org/ssh_config#UserKnownHostsFile)

* [XAuthLocation](https://man.openbsd.org/ssh_config#XAuthLocation)

